如果我们不知道数据类型,如何处理System.FormatException

时间:2018-04-04 12:33:56

标签: c#

在计算器应用程序中,我必须将用户输入的字符串转换为数据类型,但我不知道它是浮点数,整数,双精度等,我写道:

value += double.Parse(result.Text);

每当我写12.25这样的东西时,就会出现System.FormatException。但是,如果我写2或89,程序运行没有任何问题。

我真的不知道该怎么做,我已经尝试将double更改为float但会出现同样的错误。

2 个答案:

答案 0 :(得分:4)

更安全的方法是使用TryParse

double.TryParse(string, out double)

另请注意,解析与文化相关。要确保您的小数点分隔符为.,而不是,,您可以执行以下操作:

double.Parse(result.Text, CultureInfo.InvariantCulture)

答案 1 :(得分:0)

TryParse是一种很好的方法,但有没有特别的理由不使用Convert

value += Convert.ToDouble(result.Text);

当然,如果你在欧洲这样的地方,你会遇到麻烦,用逗号代替小数点,在这种情况下你需要允许文化。

相关问题