Haskell程序:将int类型变量转换为double


在Haskell中,我们将使用用户定义函数intToDouble以及fromIntegral、realToFrac和realPart函数将int类型变量转换为double。在第一个示例中,我们将使用(intToDouble n = fromIntegral n)函数;在第二个示例中,我们将使用(intToDouble n = realToFrac n)函数;在第三个示例中,我们将使用(intToDouble n = realPart (fromIntegral n :+ 0))函数。

算法

  • 步骤1 - 使用fromIntegral函数定义intToDouble函数。

  • 步骤2 - 程序执行将从main函数开始。main()函数控制整个程序的执行。它被写成main = do。

  • 步骤3 - 初始化名为“n”的变量。它将保存要转换为相应double值的整数。

  • 步骤4 - 调用intToDouble函数并将n传递给它。

  • 步骤5 - 函数调用后,使用‘putStrLn’语句将生成的double值打印到控制台。

示例1

在这个示例中,用户定义函数intToDouble使用fromIntegral函数将int变量转换为double。

intToDouble :: Int -> Double
intToDouble n = fromIntegral n

main :: IO ()
main = do
   let n = 42
   putStrLn (show (intToDouble n))

输出

42.0

示例2

在这个示例中,用户定义函数intToDouble使用fromIntegral函数通过除法将int变量转换为double。

intToDouble :: Int -> Double
intToDouble n = fromIntegral n / 1.0

main :: IO ()
main = do
   let n = 42
   putStrLn (show (intToDouble n))

输出

42.0

示例3

在这个示例中,用户定义函数intToDouble使用fromIntegral函数通过乘法将int变量转换为double。

intToDouble :: Int -> Double
intToDouble n = fromIntegral (n * 10^1) / 10.0

main :: IO ()
main = do
   let n = 42
   putStrLn (show (intToDouble n))

输出

42.0

示例4

在这个示例中,用户定义函数intToDouble使用realToFrac函数将int变量转换为double。

intToDouble :: Int -> Double
intToDouble n = realToFrac n

main :: IO ()
main = do
   let n = 42
   putStrLn (show (intToDouble n))

输出

42.0

示例5

在这个示例中,用户定义函数intToDouble使用realPart函数将int变量转换为double。

import Data.Complex

intToDouble :: Int -> Double
intToDouble n = realPart (fromIntegral n :+ 0)

main :: IO ()
main = do
   let n = 42
   putStrLn (show (intToDouble n))

输出

42.0

结论

整数到double的转换是将整数值转换为double类型的浮点值的过程。在Haskell中,使用用户定义的intToDouble函数以及fromIntegral、realToFrac和realPart函数可以将Int变量转换为double。

更新于:2023年4月20日

1K+ 次浏览

开启您的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.