Haskell程式:將int型別變數轉換為String


在Haskell中,我們將使用使用者定義函式intToString以及show、map和printf函式將int型別變數轉換為字串。在第一個示例中,我們將使用(intToString n = show n)函式;在第二個示例中,我們將使用(intToString n = intercalate "" (map show [n]));在第三個示例中,我們將使用(intToString n = printf "%d" n)。

演算法

  • 步驟1 − 使用show函式定義intToString函式,如下所示:intToString n = show n。

  • 步驟2 − 程式執行將從main函式開始。main()函式控制整個程式。它寫成main = do。

  • 步驟3 − 初始化名為“n”的變數。它將儲存要轉換為相應字串值的整數。

  • 步驟4 − 呼叫intToString函式並將n傳遞給它。

  • 步驟5 − 函式呼叫後,使用‘putStrLn’語句將結果字串值列印到控制檯。

示例1

在這個例子中,Haskell中的show函式將任何型別的值(它是Show型別的例項)轉換為String。由於Int是Show型別的例項,表示式show n返回整數n的String表示。

intToString :: Int -> String
intToString n = show n

main :: IO ()
main = do
   let n = 42
   putStrLn "String is:"
   putStrLn (intToString n)

輸出

String is:
42

示例2

在這個例子中,map函式將給定的函式應用於列表的每個元素,在本例中是將show函式應用於列表[n]。然後,使用intercalate連線生成的String列表,它接受一個分隔符String和一個String列表,並在每個相鄰元素對之間插入分隔符。在本例中,分隔符是空字串,因此String列表簡單地連線成一個String。

import Data.List (intercalate)

intToString :: Int -> String
intToString n = intercalate "" (map show [n])


main :: IO ()
main = do
   let n = 42
   putStrLn "String is:"
   putStrLn (intToString n)

輸出

String is:
42

示例3

在這個例子中,printf函式是一個功能強大的字串格式化函式,它允許各種格式化選項。在本例中,使用%d格式說明符列印整數,並提供n變數作為引數。此實現非常簡潔,但如果需要其他格式化選項,則可能不如其他方法靈活。

import Text.Printf (printf)

intToString :: Int -> String
intToString n = printf "%d" n
main :: IO ()
main = do
   let n = 42
   putStrLn "String is:"
   putStrLn (intToString n)

輸出

String is:
42

結論

整數到字串的轉換是將整數值轉換為其等效字串表示的過程。在程式設計中,當需要顯示或操作整數作為字串時(例如列印輸出或連線字串),通常需要此操作。在Haskell中,使用使用者定義的intToString函式以及show、map和printf函式將Int變數轉換為字串。

更新於:2023年4月20日

2K+ 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

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