在C#中格式化文本框时出错

时间:2017-03-16 19:42:05

标签: c# textbox format

当我在文本框中键入数字以给它一个格式时,我有一条错误消息。当我输入这段代码时:

private void textBoxX1_TextChanged(object sender, EventArgs e)
    {
        textBoxX1.Text = string.Format("{0:F}",double.Parse(textBoxX1.Text));
        string txtval = textBoxX1.Text;

      }

我只想要两位小数进行格式化,所以如果我输入100,则将文本框格式化为100.00。然后将该值传递给变量txtval 但是给我这个错误:

  

输入字符串的格式不正确。

2 个答案:

答案 0 :(得分:0)

我建议使用TryParse而不是Parse来避免异常。

答案 1 :(得分:0)

您应该使用TryParse首先验证您是否可以解析文本框中的内容。您收到此异常是因为文本框中的值无法解析为double。您应该修改您的代码,如下所示:

private void textBoxX1_TextChanged(object sender, TextChangedEventArgs e)
{
    double value = 0.00;

    if (double.TryParse(textBoxX1.Text, out value))
    {
        textBoxX1.Text = string.Format("{0:F}", value);
        string txtval = value.ToString();
    }       
}

这样做首先验证文本框中的值是否可以解析为double,然后对其进行格式化并将其添加到文本框中。

相关问题