我试图转换字符串" 5.7" (从文本框)到像这样的浮点数:
float m = float.Parse(TextBox9.Text);
但我收到以下错误:
System.FormatException:输入字符串的格式不正确。
有什么不对吗?
答案 0 :(得分:1)
float.Parse(Textbox9.Text, CultureInfo.InvariantCulture.NumberFormat);
答案 1 :(得分:0)
您和例外,因为TextBox9中的文本不适合正确的十进制数的“country-rules”。通常会发生这种情况,如果点代表一千个分隔符而不是小数点。也许你可以使用:
float number = float.Parse(TextBox9.Text, CultureInfo.InvariantCulture);
或
float number = float.Parse(TextBox9.Text, Thread.CurrentThread.CurrentUICulture);
要避免例外,您可以使用:
float number;
if (!float.TryParse(TextBox9.Text, out number))
MessageBox.Show("Input must be a decimal number.");