只允许输入2位小数(C#+WindowsPhone)
本文关键字:2位 小数 C#+WindowsPhone 许输入 输入 | 更新日期: 2023-09-27 18:27:35
我使用此代码只允许输入1个小数点。它运行良好。但是我怎么能做到只允许输入小数点后的2个数字呢?
C#
private void txtPrecio_KeyDown(object sender, KeyEventArgs e)
{
TextBox txt1 = (TextBox)sender;
if (txt1.Text.Contains(".") && e.PlatformKeyCode == 190)
{
e.Handled = true;
}
}
也许这个或其他一些基于Silverlight的屏蔽编辑可以帮助您以更干净的方式解决问题?
希望这能有所帮助。
只需检查最后一个字符是否是数值,倒数第二个字符是否为数值,在此之前的字符是否为句点。
或者,如果你想使用Regex*,比如
if (Regex.IsMatch(".[0-9]{2}$", txt1.Text)
{
e.Handled = true;
}
*-这个正则表达式是从内存中完成的,但它看起来(旨在)查看文本结尾是否是一个小数位,然后是两个数字字符。
为什么不直接格式化结果:
double e = double.Parse(text);
string nText = string.Format("{0:0.##}", e);
e = double.Parse(nText);