【发布时间】:2013-04-24 13:18:47
【问题描述】:
如何在数字(可能允许十进制)文本框中限制单个零?文本框可以接受任何数字,但不应只接受零或“0.##”作为值。
例如:“900.55”、“200.00”有效,“0”、“0.105”无效。
我试过^[1-9]\d\.?\d[0-9]*,但它接受“0”和“0.##”
【问题讨论】:
-
你确定吗?我很确定你的正则表达式不接受
0,因为它不是以[1-9]开头的。 -
看起来它会接受
12.3,但不接受123.4 -
如果
TextBox只接受数字,为什么不尝试将其Text属性解析为double,然后查看它是否为>= 1? -
这样做不是更简单吗:
float.Parse(textBox1.Text) < 1? -
@VimalStan 这就是我已经说过的。此外,如果输入无法解析为浮点数,
float.Parse可能会崩溃。最好改用float.TryParse。