我需要验证文本框中的用户输入是精确的十进制数吗?例如,下面是一些案例..
如果用户输入1,那么它无效
如果用户输入0则其无效
如果用户输入1.0则为有效
如果用户输入1.1则其有效
如果用户输入1.11,则输入无效
如果用户输入100.1,则输入有效
如何使用C#(.net 3.5)实现此目的?
它是一个WPF文本框。
谢谢, -Mike
答案 0 :(得分:2)
对我来说,最简单的方法似乎是使用正则表达式。通过将用户输入解释为字符串,您可以将其与'[0-9]+\.[0-9]'
答案 1 :(得分:2)
对于实现此目的的非正则表达方式:
string input;
decimal deci;
if (input.Length >=3 && input[input.Length - 2].Equals('.') && Decimal.TryParse(input , out deci))
{
// Success
}
else
{
// Fail
}
答案 2 :(得分:0)
是正则表达式是检查病情的最佳方式:
对于NNNN.N(1234.5),请使用:
/^\d{4}\.\d$/
对于可选.N(1234 1234. 1234.5),请使用:
/^\d{4}(\.\d?)?$/
对于最大为NNNN.N(1.5 12.5 123,1234 1234.5)的数字,请使用:
/^(?=.*\d)\d{0,4}(\.\d?)?$/
如果你想在开头允许+/-,那么用^ [ - +]替换^。?