Haskell 程序将字符串转换为整数
本教程将帮助我们将字符串转换为整数。在 Haskell 中,将字符串转换为整数的过程通常涉及使用来自 Text.Read 模块的 **read** 函数或 **readMaybe** 函数。另一种方法是使用来自 Data.Char 模块的 **digitToInt** 函数将字符串中的每个字符转换为其相应的数值。
所有这些函数都是标准库的一部分,我们可以使用它们轻松地将字符串转换为 Haskell 中的整数。
算法
**步骤 1** - 使用 read 函数定义 in-build() 函数。
**步骤 2** - 程序执行将从 main 函数开始。main() 函数控制整个程序。
**步骤 3** - 初始化一个名为“s”的变量。它将包含要转换为整数的字符串值。
**步骤 4** - 调用 in-build() 函数,并将字符串作为参数传递给它。
**步骤 5** - 显示最终转换后的整数结果值。
使用 Read 函数
在这种方法中,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 将字符串作为参数,并使用模式匹配来检查它是否与预定义值(“one”、“two”、“three”)之一匹配。如果它与这些值之一匹配,则它返回用 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 的幂列表组合并加起来以获得原始字符串的整数表示形式。