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 = 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 类型的浮点值的过程。在 Haskell 中,使用用户定义的 intToDouble 函数以及 fromIntegral、realToFrac 和 realPart 函数将 Int 变量转换为 double。