[英]Regex in c# for digit with comma
我想使用RegEx来验证输入是否为
空->到100
范例:0或1或10,1或20.2或99
只有正值,0或null值到100,并接受点和逗号。 任何人都可以给我正确的C#正则表达式吗?
非常感谢 :)
数字正则表达式的许多示例可以在这里找到
正则表达式是关于匹配字符的。 它不了解数字。
尝试使用double.TryParse()
解析,如果解析失败是因为字符串具有,
而不是.
,更换,
用.
然后再试一次。
尝试这个:
(100|\d{1,2}[.,]\d+)
但是在这里使用Double.Parse()
更正确。
string str = '10,1';
bool valid = false;
double num = -1;
str = str.Replace(",", ".");
if (String.IsNullOrEmpty(str)) {
valid = true;
} else {
try {
num = Double.Parse(str);
} catch (Exception ex) {
valid = false;
}
if (num >= 0 && num <= 100) {
valid = true;
}
}
*为什么我不使用Double.TryParse()
代替?
可悲的是,解析失败会使结果0
下降到有效状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.