Haskell 程序将 double 类型变量转换为 int
在 Haskell 中,我们将使用用户定义函数 doubleToInt 以及 floor、round 和 ceiling 函数将 double 类型变量转换为 int。在第一个示例中,我们将使用 (doubleToInt d = floor d) 函数,在第二个示例中,我们将使用 (doubleToInt d = round d)。在第三个示例中,我们将使用 (doubleToInt d = ceiling d)。
算法
步骤 1 - doubleToInt 函数使用 floor 函数定义为, doubleToInt d = floor d。
步骤 2 - 程序执行将从 main 函数开始。main() 函数对程序有完全的控制权。写法为 main = do。
步骤 3 - 初始化名为"d"的变量。它将保存要转换为相应整数值的双精度值。
步骤 4 - 调用函数 doubleToInt 并将 d 传递给该函数。
步骤 5 - 调用函数后,使用"putStrLn"语句将结果整数值打印到控制台。
示例 1
在此示例中,定义了一个函数 doubleToInt,该函数接受 Double 值 d 并使用 floor 函数向下舍入到最接近的整数来返回 Int 值。然后,它定义了一个主函数,该函数使用 Double 值调用 doubleToInt 并打印出原始 Double 值和结果 Int 值。
doubleToInt :: Double -> Int doubleToInt d = floor d main :: IO () main = do let d = 3.14159 i = doubleToInt d putStrLn $ "The value of d is " ++ show d putStrLn $ "The value of i is " ++ show i
输出
The value of d is 3.14159 The value of i is 3
示例 2
在此示例中,round 函数将 Double 值四舍五入为最接近的整数,并将其作为 Integral 类型返回,该类型可以直接转换为 Int。
doubleToInt :: Double -> Int doubleToInt d = round d main :: IO () main = do let d = 3.14159 i = doubleToInt d putStrLn $ "The value of d is " ++ show d putStrLn $ "The value of i is " ++ show i
输出
The value of d is 3.14159 The value of i is 3
示例 3
在此示例中,ceiling 函数将 Double 值向上舍入为最接近的整数,并将其作为 Integral 类型返回,该类型可以直接转换为 Int。
doubleToInt :: Double -> Int doubleToInt d = ceiling d main :: IO () main = do let d = 3.14159 i = doubleToInt d putStrLn $ "The value of d is " ++ show d putStrLn $ "The value of i is " ++ show i
输出
The value of d is 3.14159 The value of i is 4
结论
Double 到 int 的转换是将 Double 数据类型转换为 Int 数据类型的过程。Double 是一种浮点数据类型,可以保存具有高精度的十进制值,而 Int 是一种只能保存整数的整数数据类型。在 Haskell 中,使用用户定义的 doubleToInt 函数以及 floor、round 和 ceiling 函数将 Int 变量转换为 double。