你好C#和Windows手机开发者,
对于我的Windows手机应用程序,我有一个文本字段要求用户输入他们的年龄。在调试模式期间,我输入了数字.8。然后单击继续,应用程序意外关闭。我需要添加什么代码,以便我可以发布一个消息框,通知用户小数点多于1的数字是不可接受的。请帮忙
答案 0 :(得分:1)
假设输入是一个字符串,请尝试:
if (input.IndexOf('.') == -1 || input.LastIndexOf('.') == input.IndexOf('.'))
{
//good
}
else
MessageBox.Show("More than one decimal point");
更好的方法是使用TryParse来检查格式化数字
float age;
if (float.TryParse(input, out age))
{
//good
}
else
MessageBox.Show("Invalid age.");
答案 1 :(得分:0)
一种方法是在用户输入输入时将小数位输入的数量限制为一个小数位。
这会更好,因为它是实时的,而不是在最后检查它。
private void tbx_KeyDown(object sender, KeyEventArgs e)
{
//mark the sneder as a textbox control so we can access its properties
TextBox textBoxControl = (TextBox)sender;
//if there is already a decimals, do not allow another
if (textBoxControl.Text.Contains(".") && e.PlatformKeyCode == 190)
{
e.Handled = true;
}
}