Haskell程式:將雙精度型別變數轉換為字串


在Haskell中,我們將使用使用者定義函式`doubleToString`以及`show`函式和`Text.Printf`以及`Data.Text`模組將雙精度型別變數轉換為字串。在第一個示例中,我們將使用`(let valueString = show input)`,在第二個示例中,我們將使用`(doubleToString d = printf "%.2f" d)`。在第三個示例中,我們將使用`(doubleToString d = unpack $ pack $ show d)`。

演算法

  • 步驟1 - 程式執行將從`main`函式開始。`main()`函式控制整個程式的執行。它寫為`main = do`。

  • 步驟2 - 初始化名為“input”的變數。它將儲存要轉換為相應字串值的雙精度值。

  • 步驟3 - 使用雙精度值呼叫`show`函式。

  • 步驟4 - 使用`putStrLn`語句將生成的字串值列印到控制檯。

示例1

在此方法中,從使用者處獲取雙精度輸入,並使用`show`將該輸入轉換為字串。然後使用`putStrLn`列印生成的字串值。

main :: IO ()
main = do
   let input = 245.64
   let valueString = show input
   putStrLn $ "The string value is: " ++ valueString

輸出

The string value is: 245.64

示例2

在此方法中,定義了一個名為`doubleToString`的函式,該函式使用`printf`函式將雙精度值格式化為保留兩位小數的字串。然後,我們使用`doubleToString`將雙精度值轉換為字串,並使用`putStrLn`列印它。

import Text.Printf (printf)

doubleToString :: Double -> String
doubleToString d = printf "%.2f" d

main :: IO ()
main = do
   let value = 3.14159 :: Double
   putStrLn $ "The string value is: " ++ doubleToString value

輸出

The string value is: 3.14

示例3

在此方法中,使用`show`函式將雙精度值轉換為字串,然後使用`Data.Text.pack`將字串轉換為`Text`值,最後使用`Data.Text.unpack`將`Text`值轉換回字串。

import Data.Text (pack, unpack)

doubleToString :: Double -> String
doubleToString d = unpack $ pack $ show d

main :: IO ()
main = do
   let value = 3.14159 :: Double
   putStrLn $ "The string value is: " ++ doubleToString value

輸出

The string value is: 3.14159

結論

雙精度到字串的轉換是將雙精度浮點值(也稱為雙精度數)轉換為其字串表示的過程。在Haskell中,您可以使用`show`函式將雙精度值轉換為字串。`show`函式接收指定型別(例如Double)的值,並返回該值的字串表示形式。然後可以列印、儲存在檔案中或透過網路傳送生成的字串。此外,我們還可以使用`Data.Text`和`Text.Printf`模組進行此轉換。

更新於:2023年4月20日

469 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.