将小于1的数字的字符串表示形式转换为double

时间:2011-07-17 19:09:23

标签: c# string double

Convert.ToDouble Method(String)将指定的数字表示形式转换为等效的双精度浮点数。

我有这行代码:      double d = Convert.ToDouble(“0.3”);

它给了我3.0而不是0.3。对于大于1的数字,它按预期工作。 为什么呢?

3 个答案:

答案 0 :(得分:6)

很可能是语言环境问题。有些文化中.不是小数点分隔符。

尝试double.Parse("0.3",CultureInfo.InvariantCulture)

答案 1 :(得分:1)

试试这个:

NumberFormatInfo provider = new NumberFormatInfo();
provider.NumberDecimalSeparator = ".";
double d = Convert.ToDouble("0.3", provider);

答案 2 :(得分:0)

目前的文化设置是什么?这可能是因为在文化环境中你使用'。'不是小数分隔符!