web-dev-qa-db-fra.com

Haskell: Conversion de Int en String

Je sais que vous pouvez convertir une String en un nombre avec read:

Prelude> read "3" :: Int
3
Prelude> read "3" :: Double 
3.0

Mais comment saisir la représentation String d'une valeur Int?

167
Squirrelsama

L'opposé de read est show.

Prelude> show 3
"3"

Prelude> read $ show 3 :: Int
3
248
Chuck

Un exemple basé sur la réponse de Chuck:

myIntToStr :: Int -> String
myIntToStr x
    | x < 3     = show x ++ " is less than three"
    | otherwise = "normal"

Notez que sans show, la troisième ligne ne sera pas compilée.

3
prasad_

Toute personne qui commence juste avec Haskell et tente d’imprimer un Int, utilisez:

module Lib
    ( someFunc
    ) where

someFunc :: IO ()
x = 123
someFunc = putStrLn (show x)
0
Arlind