我有一个 TextBox,它应该只接受数字(它们可以是简单的 int 或 float,以 E 作为功率因数)。
所以一些有效的例子是:
1
+1.1
0
.1
1E-1
1e-2
-1.66
-6e-10
无效示例:
E-1
通常它应该以数字或 + 和 - 符号或点开头。
然后我将它放在TextChanged 事件中就可以了。
textBox.Text = Regex.Replace(textBox.Text, @"[\d]", ""); //so useless!
请您参考如下方法:
如果你想使用你的指数,试试这个(一定要添加 using System.Globalization;):
decimal value;
if(Decimal.TryParse(textBox.Text, NumberStyles.Float, CultureInfo.CurrentCulture, out value))
{
textBox.Text = value.ToString();
}
