繁体   English   中英

Haskell:将 Int 转换为 String

[英]Haskell: Converting Int to String

我知道您可以使用readString转换为数字:

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

但是如何获取Int值的String表示呢?

read的反面是show

Prelude> show 3
"3"

Prelude> read $ show 3 :: Int
3

任何刚开始使用 Haskell 并尝试打印 Int 的人,请使用:

module Lib
    ( someFunc
    ) where

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

一个基于查克回答的例子:

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

请注意,如果没有show ,第三行将无法编译。

您可以使用显示:

show 3

我想补充的是,show 的类型签名如下:

show :: a -> String

并且可以将大量值转换为字符串,而不仅仅是类型Int

例如:

show [1,2,3] 

这是一个参考:

https://hackage.haskell.org/package/base-4.14.1.0/docs/GHC-Show.html#v:show

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM