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+ 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告