繁体   English   中英

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

[英]Error Formatting textbox in C#

在文本框中键入数字以提供格式时出现错误消息。 当我用以下代码键入时:

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,但给我这个错误:

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

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

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

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();
    }       
}

这是先验证文本框中的值可以解析为双精度,然后设置其格式并将其添加到文本框中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM