C# System.FormatException:';输入字符串的格式不正确;在c中#

C# System.FormatException:';输入字符串的格式不正确;在c中#,c#,C#,大家好,我是编程新手,我在程序中看到了这个错误,我不明白我在做什么 private void按钮2\u单击(对象发送者,事件参数e) { 双a=Convert.ToDouble(textBox1.Text); 双数=a*10; Show(num.ToString()); } 这意味着文本框中的文本不能转换为双精度文本。可能存在一些非数字字符串值或与双精度值无关的字符 首先,您应该检查字符串是否为真正的数字值,如果文本无法解析为双精度,则显示相应的消息: private vo

大家好,我是编程新手,我在程序中看到了这个错误,我不明白我在做什么

private void按钮2\u单击(对象发送者,事件参数e)
{           
双a=Convert.ToDouble(textBox1.Text);
双数=a*10;
Show(num.ToString());
}

这意味着文本框中的文本不能转换为双精度文本。可能存在一些非数字字符串值或与双精度值无关的字符

首先,您应该检查字符串是否为真正的数字值,如果文本无法解析为双精度,则显示相应的消息:

private void button2_Click(object sender, EventArgs e)
{   
    var txt = textBox1.Text;
    double a;
    if(!double.TryParse(txt, out a)
    {
          MessageBox.Show("Enter Valid Double Value");
          return;
    }
    double num = a*10;           
    MessageBox.Show(num.ToString());
}

如果您使用点作为分隔符输入数字,例如
12.34
,则可以写入
Convert.ToDouble(textBox1.Text,CultureInfo.InvariantCulture)
那么,
textBox1.Text
值不代表任何有效的
双精度
<代码>文本框1。文本可以是,比如说
“bla bla bla”
或空字符串。请检查
textBox1.Text
value
MessageBox.Show(double.TryParse(textBox1.Text,out-var a)?$“{a*10}”:$“\”{textBox1.Text}\”不是有效值)