我正在 Haskell 中执行前几个步骤,并且尝试将字符串转换为整数,但我无法管理。我看过类似的问题,但我仍然不确定。
我想做的就是转换,例如'6'
or "271"
为整数,即6
or 271
分别。我该怎么做呢?
类似的是,在 Python 中,我可以轻松地做到这一点:例如int("2723")
会完成工作的。
如果您知道该字符串是一个有效的整数,或者如果不是这样的话您不介意它爆炸,read http://hackage.haskell.org/package/base-4.6.0.1/docs/Prelude.html#v%3aread将工作。如果您不熟悉 Haskell 类型类,只需知道您可能需要告诉 Haskell 您想要将其读取为什么类型:
main :: IO ()
main = do
let x = read "271" :: Integer
print x
如果 Haskell 有其他方法知道你想要什么类型,比如你继续用它做算术,你并不总是需要这样做。
如果您不确定该字符串是否是有效数字,则最近版本的 base(不确定从何时开始)包含一个函数readMaybe http://hackage.haskell.org/package/base-4.6.0.1/docs/Text-Read.html#v%3areadMaybe将会安全返回Nothing
如果它不是一个可读的整数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)