黑马程序员技术交流社区
标题:
第一个字符不能输入0的情况下怎么输入小数??
[打印本页]
作者:
李后量
时间:
2012-8-17 19:07
标题:
第一个字符不能输入0的情况下怎么输入小数??
private void txtNum1_KeyPress(object sender, KeyPressEventArgs e)
{
TextBox txt = sender as TextBox;
if (e.KeyChar < '0' || e.KeyChar > '9')//判断输入的字符是否为数字
{
e.Handled = true;
}
if (e.KeyChar == '.')//判断输入的字符是否是小数点
{
if (txt.SelectionStart == 0)//判断小数点是否在第一个位置
{
e.Handled = true;
}
else
{
if (txt.Text.IndexOf('.') == -1)//判断是否已经有小数点了
{
e.Handled = false;
}
}
}
if (e.KeyChar == 8)//判断输入的字符是否为backspace
{
e.Handled = false;
}
//if (txt.SelectionStart == 0 && e.KeyChar == '0')//判断输入的第一个字符是否为0
//{
// e.Handled = true;
//}
复制代码
视频里那个关于combox的有这么一题,是做四则运算的,但如果按照视频里的解法的话第一个字符可以是0,如果加上我这最后几行代码的话就又不能输入小数了,求个解法能满足既能阻止第一个字符是0的错误整数输入又能输入正确的小数!!
作者:
许庭洲
时间:
2012-8-19 12:57
先判断第一个字符是非0,然后判断输入的字符是否是小数点。
if
(txt.SelectionStart == 0 && e.KeyChar == '0')//判断输入的第一个字符是否为0
{
e.Handled = true;
}
else if
(e.KeyChar == '.')
{
if (txt.SelectionStart == 0)
{
e.Handled = true;
}
else
{
if (txt.Text.IndexOf('.') == -1)//判断是否已经有小数点了
{
e.Handled = false;
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2