字符串ToDouble转换有些奇怪

时间:2015-06-19 18:12:25

标签: c# double

我在555 555 555中有Box.Text(我已修剪该值) 然后我打电话给

double result = Convert.ToDouble(Box.Text, CultureInfo.InvariantCulture);

我的结果是

555 555 584 

WHY ???我一直在等555 555 555 真奇怪的bug,还是我错过了什么?

我发现解决方案555 555 584是之前预先确定的最大值。 问题已经结束

2 个答案:

答案 0 :(得分:0)

你的问题遗漏了一些东西。您的输入字符串不能包含空格,并且不能输出包含空格的双精度。

double result = Convert.ToDouble("555 555 584", CultureInfo.InvariantCulture);

结果:

mscorlib.dll中发生未处理的“System.FormatException”类型异常

其他信息:输入字符串的格式不正确。

试试这个:

string value = Box.Text.Replace(" ", "");
double result = Convert.ToDouble(value, CultureInfo.InvariantCulture);

答案 1 :(得分:0)

你也可以试试这个:

double result2 = Double.Parse("555555555");

P.S。替换" 555555555"与Box.Text