Haskell: Converting Int to String

前端 未结 3 965
闹比i
闹比i 2020-12-22 17:20

I know you can convert a String to an number with read:

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


        
相关标签:
3条回答
  • 2020-12-22 17:56

    The opposite of read is show.

    Prelude> show 3
    "3"
    
    Prelude> read $ show 3 :: Int
    3
    
    0 讨论(0)
  • 2020-12-22 18:03

    An example based on Chuck's answer:

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

    Note that without the show the third line will not compile.

    0 讨论(0)
  • 2020-12-22 18:06

    Anyone who is just starting with Haskell and trying to print an Int, use:

    module Lib
        ( someFunc
        ) where
    
    someFunc :: IO ()
    x = 123
    someFunc = putStrLn (show x)
    
    0 讨论(0)
提交回复
热议问题