Haskell程序 将字符串转换为整数
本教程将帮助我们将字符串转换为整数。在Haskell中,将字符串转换为整数的过程通常需要使用Text.Read模块中的read函数或readMaybe函数。另一种方法是使用Data.Char模块中的digitToInt函数,将字符串中的每个字符转换为其相应的数字值。
所有这些函数都是标准库的一部分,我们可以用它们在Haskell中轻松地将字符串转换成整数。
算法
- 第1步 – 使用read函数定义in-build()函数。
-
第2步 – 程序的执行将从主函数开始。main()函数拥有对程序的全部控制权。
-
第3步 – 一个名为 “s “的变量将被初始化。它将拥有将被转换为整数的字符串值。
-
第4步 – in-build()函数被调用,字符串将被作为参数传递给它。
-
第5步 – 显示最终转换后的整数值。
使用读取功能
在这种方法中,stringToInt被定义在read函数下。然后调用stringToInt(),将字符串值作为参数传给它。show函数用于将整数转换为字符串,这样就可以将其打印到控制台。
示例
在这个例子中,我们将看到如何使用read函数将字符串转换成一个整数。read函数将字符串转换为数字
stringToInt :: String -> Int
stringToInt s = read s
main :: IO ()
main = do
let s = "123"
let result = stringToInt s
putStrLn (show result)
输出
123
使用readMaybe函数
在这个例子中,我们将看到如何使用Text.Read模块中的readMaybe函数将字符串转换成一个整数。如果字符串可以被解析为所需的类型,它将返回解析后的值,否则为Nothing。show函数用于将整数转换为字符串,这样它就可以被打印到控制台。
示例
import Text.Read (readMaybe)
stringToInt :: String -> Maybe Int
stringToInt s = readMaybe s
main :: IO ()
main = do
let s = "123"
let result = stringToInt s
putStrLn (show result)
输出
Just 123
使用 digitToInt 函数
在这个方法中,函数stringToInt接收一个字符串作为参数,并使用模式匹配来检查它是否与预定义的值(”一”、”二”、”三”)匹配。如果它与这些值中的一个相匹配,它将返回被Just构造函数包裹的相应整数。其结果是原始字符串的整数表示。如果输入的字符串不匹配任何预定义的值,它将返回Nothing。
示例
import Data.Maybe (fromMaybe)
stringToInt :: String -> Maybe Int
stringToInt s = case s of
"one" -> Just 1
"two" -> Just 2
"three" -> Just 3
_ -> Nothing
main = do
let input = "two"
let output = fromMaybe (error "Invalid input") (stringToInt input)
print output
输出
2
结论
在Haskell中,将字符串转换为整数的过程通常需要使用Text.Read模块中的read函数或readMaybe函数。
另一种方法是使用Data.Char模块中的digitToInt函数,将字符串中的每个字符转换为其相应的数值,然后将它们与10的幂的列表结合起来,加起来得到原始字符串的整数表示。