C#如何控制文本框输入值的小数位数为4位,实现的代码(注释部分)加到程序里不能实现,应该怎么改呢 5
//小数点的处理。if((int)e.KeyChar==46){if(textBox5.Text.Length<=0)e.Handled=true;//小数点不能在第一位...
//小数点的处理。
if ((int)e.KeyChar == 46)
{
if (textBox5.Text.Length <= 0)
e.Handled = true; //小数点不能在第一位
else
{
float f;
float oldf;
bool b1 = false, b2 = false;
/*float.TryParse(a,out b)将a转换为float类型
* 转换成功返回 true,转换失败返回 false。
* b为输出值,如果转换失败,输出值为 0*/
b1 = float.TryParse(textBox5.Text, out oldf);
b2 = float.TryParse(textBox5.Text + e.KeyChar.ToString(), out f);
if (b2 == false)
{
if (b1 == true)
e.Handled = true;
else
e.Handled = false;
// 控制小数位数为4位
//if (((TextBox)sender).Text.Trim().IndexOf('.') > -1)
//{
// if (((TextBox)sender).Text.Trim().Substring(((TextBox)sender).Text.Trim().IndexOf('.') + 1).Length >= 4)
// e.Handled = true;
//}
}
}
} 展开
if ((int)e.KeyChar == 46)
{
if (textBox5.Text.Length <= 0)
e.Handled = true; //小数点不能在第一位
else
{
float f;
float oldf;
bool b1 = false, b2 = false;
/*float.TryParse(a,out b)将a转换为float类型
* 转换成功返回 true,转换失败返回 false。
* b为输出值,如果转换失败,输出值为 0*/
b1 = float.TryParse(textBox5.Text, out oldf);
b2 = float.TryParse(textBox5.Text + e.KeyChar.ToString(), out f);
if (b2 == false)
{
if (b1 == true)
e.Handled = true;
else
e.Handled = false;
// 控制小数位数为4位
//if (((TextBox)sender).Text.Trim().IndexOf('.') > -1)
//{
// if (((TextBox)sender).Text.Trim().Substring(((TextBox)sender).Text.Trim().IndexOf('.') + 1).Length >= 4)
// e.Handled = true;
//}
}
}
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询