gpt4 book ai didi

validation - Haskell:检查字符串是否为有效数字

转载 作者:行者123 更新时间:2023-12-03 15:10:07 25 4
gpt4 key购买 nike

检查字符串是否为有效数字时如何检查小数点?

我在想的是我使用类似下面的东西,但是添加代码来检查小数点!

isNumber :: String -> Bool
isNumber xs = all isDigit xs || add extra code here

在 EBNF 中将有效数字定义为:
number -> .digit+ | digit+ [ .digit*]

例如,.5, 1.5, 1, 1. 都是有效数字。 +
表示出现一次或多次,* 表示出现零次或多次。

最佳答案

一个简单的方法是使用 readMaybe用于将字符串转换为数字,

import Text.Read

等检查它是否是 Double ,
readMaybe "123" :: Maybe Double
Just 123.0

readMaybe "12a3" :: Maybe Double
Nothing

后者返回 Nothing ,字符串不是有效数字。以类似的方式,如果我们假设它是 Int ,
readMaybe "12.3" :: Maybe Int
Nothing

关于validation - Haskell:检查字符串是否为有效数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30029029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com