2

您好 C# 和 Windows 手机开发人员,

对于我的 windows phone 应用程序,我有一个文本字段要求用户输入他们的年龄。在调试模式下,我输入了数字 0.8。并单击继续,应用程序意外关闭。我需要添加什么代码,以便我可以发布一个消息框,通知用户超过 1 个小数点的数字是不可接受的。请帮忙

4

2 回答 2

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.");
于 2012-07-07T00:40:20.093 回答
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;
        }
    }
于 2012-07-10T06:20:14.977 回答