Windows应用程序,C#。
当用户输入:999.6789 显示:999.6789
当用户输入:999.678 显示:999.678
当用户输入:999.67 显示:999.67
当用户输入:999.6 显示:999.60
当用户输入:999 显示:999.00
当用户输入:0 显示:0
也就是说:最多允许输入4位小数,最少显示2位小数。
textBox已在绑定BindingSource数据源。要求不使用txt1.Text = _strValue.ToString("#########.00##");之类的语句。
当然最好只允许输入数字,不允许输入字母。我已用过MaskedTextBox控件都没实现。
请问要如何实现这种功能?
当用户输入:999.6789 显示:999.6789
当用户输入:999.678 显示:999.678
当用户输入:999.67 显示:999.67
当用户输入:999.6 显示:999.60
当用户输入:999 显示:999.00
当用户输入:0 显示:0
也就是说:最多允许输入4位小数,最少显示2位小数。
textBox已在绑定BindingSource数据源。要求不使用txt1.Text = _strValue.ToString("#########.00##");之类的语句。
当然最好只允许输入数字,不允许输入字母。我已用过MaskedTextBox控件都没实现。
请问要如何实现这种功能?
if(e.KeyChar >='0' && e.KeyChar <='9')
{
e.Handled=false;
}
else
{
e.Handled=true;
}
这么写 可以只接收数字我是小菜鸟! 说的不好清见谅, 希望能够帮到你!
当用户输入:999.678 显示:999.678
当用户输入:999.67 显示:999.67
当用户输入:999.6 显示:999.60
当用户输入:999 显示:999.00
当用户输入:0 显示:0 如果想要这种效果的话 那这个变量就不能是 double 或者 Decimal 的 因为他们不能控制最后的零补位要是用字符串的话 就更好做了 先把 . 后面的截取下来 length >4 的时候 只把 4个加回字符串
如果 length <2 就把数后面 补上 0 然后 加回原来的我是小菜鸟! 说的不好清见谅, 希望能够帮到你!
输入0应该是0.00试试重写NumericUpDown
0是特殊的,不需要显示小数位。
对于PB来说,这是再简单不过了。没想到VS2005,C#就这么难,而且这么多同僚都没有一个可以解决,不禁让人对VS太感失望。
PB里可以设置“###########.00##;0”格式,但VS绑定数据源的TextBox控件却不知该如何实现这种功能(当然DataGridView可以实现),而即使MaskedTextBox控件我也暂时没办法实现。
TextBox1.Text = Math.Round(aa, 2);