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

haskellserver side programmingprogramming更新于 2025/5/26 17:22:17

在 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。


相关文章