Haskell字符串 - > Int类型转换

时间:2013-12-18 20:12:01

标签: haskell

我正在Haskell中执行我的前几步,并且我正在尝试将字符串转换为整数,但我没有管理。我看过类似的问题,但我仍然不确定。

我想做的就是转换,例如'6'"271"分别为整数,即6271。我该怎么做?

类似的是,在Python中,我可以轻松地做到这一点:例如。int("2723")可以完成工作。

1 个答案:

答案 0 :(得分:20)

如果你知道字符串是一个有效的整数,或者如果不是这样,你不介意它会爆炸,read将起作用。如果您不熟悉Haskell的类型类,只需要知道您可能必须告诉Haskell您想要读取的类型为:

main :: IO ()
main = do
  let x = read "271" :: Integer
  print x

如果Haskell有其他方法可以知道你想要什么类型,那么你并不总是必须这样做,比如你继续用它算术。

如果您不确定字符串是否为有效数字,则最近版本的base(不确定从何时开始)包含一个函数readMaybe,如果不是Nothing则会安全返回{{1}}一个可读的整数。