我已经尝试了一个正则表达式来根据需求验证十进制值,这对正整数有效,但是当我为+ or -
选择它时,我无法验证它是否可以帮助我这是我的表达式
ValidationExpression="^[-+][0-9]+(\.([0-9]{1,3})?)?$"
答案 0 :(得分:4)
您必须使用?
修饰符使该符号可选,并且允许的字符[-+]
表示zero or one + or -
。
ValidationExpression="^[-+]?[0-9]+(\.([0-9]{1,3})?)?$"
答案 1 :(得分:2)
你必须使用正则表达式吗?
如果没有,我建议使用decimal.TryParse()。 e.g。
public bool IsValidDecimal(string value)
{
decimal test;
return decimal.TryParse(value, NumberStyles.Any, CultureInfo.CurrentCulture, out test);
}
使用.TryParse()
的一个好处是它会为您处理不同的文化。不同的国家/地区使用不同的标记作为小数范围。例如,在美国,.
是分隔符,而在俄罗斯使用,
。