.net 浮点数据类型的必需表达式和正则表达式
我想验证数据库中数据类型为float的字段。请告诉我float数据类型所需的表达式和正则表达式,以便用户只能输入float中的数字 例如,这是一个错误.net 浮点数据类型的必需表达式和正则表达式,.net,regex,.net,Regex,我想验证数据库中数据类型为float的字段。请告诉我float数据类型所需的表达式和正则表达式,以便用户只能输入float中的数字 例如,这是一个错误 else if(!Regex.IsMatch(lowerlimit, @"[+-]?(?:(?:\d+\.\d*)|(?:\d*\.\d+))")) { ModelState.AddModelError("lowerlimit", "Please enter valid lower limit"); } 谢谢 丽思酒店
else if(!Regex.IsMatch(lowerlimit,
@"[+-]?(?:(?:\d+\.\d*)|(?:\d*\.\d+))"))
{
ModelState.AddModelError("lowerlimit", "Please enter valid lower limit");
}
谢谢
丽思酒店试试这样:
^\d*\.?\d*$
试着这样做:
^\d*\.?\d*$
如果希望使非捕获标记更具可读性,可以删除该标记。?:
[+\-]?((\d+(\.\d+)?)|(\d*\.\d+))
注意:这个正则表达式将只匹配带小数点的浮点数,而不是整数
如果希望使非捕获标记更具可读性,可以删除该标记。?:
[+\-]?((\d+(\.\d+)?)|(\d*\.\d+))
注意:此正则表达式将只匹配带小数点的浮点数,而不匹配整数。1st:看起来您落入了一个常见陷阱:您遇到了一个问题,决定用正则表达式解决它,现在您遇到了两个问题。
您应该看看是否可以使用标准库尝试将预期的浮点解析为一个浮点,以避免混淆近似正则表达式 取决于要允许的浮点数文本表示形式的样式 科学符号:
[-+]?\d(\.\d+)?([eE]-?\d+)?
简单小数点:
-?\d+(\.\d+)?
允许空整数部分:
[-+]?((\d*\.\d+)|(\d+(\.\d+)?))
第一:看起来你掉进了一个常见的陷阱:你有一个问题,你决定用正则表达式来解决,现在你有两个问题。
您应该看看是否可以使用标准库尝试将预期的浮点解析为一个浮点,以避免混淆近似正则表达式 取决于要允许的浮点数文本表示形式的样式 科学符号:
[-+]?\d(\.\d+)?([eE]-?\d+)?
简单小数点:
-?\d+(\.\d+)?
允许空整数部分:
[-+]?((\d*\.\d+)|(\d+(\.\d+)?))
这不是匹配的
还是空字符串?这不是匹配的
还是空字符串?更新后不会匹配12。
多亏了道格拉斯的正则表达式。更新后不会匹配12。
多亏了道格拉斯的正则表达式。@Amarghosh:是的,在许多编程语言中,文本.4
有效。我想这完全取决于Ritz认为有效的值的类型。@Amarghosh:是的,在许多编程语言中,literal.4
是有效的。我想这完全取决于Ritz认为有效的值的类型。为什么不读取输入,解析浮点值并检查它是否为NaN?为什么不读取输入,解析浮点值并检查它是否为NaN?