将“.1”,“。2”转换为double

时间:2016-02-11 08:39:32

标签: c# double

我想将".1"".2"等字符串转换为0.10.2等。

我试过了:

Convert.ToDouble(".1")

它崩溃了。我理解为什么它会崩溃,但我仍然需要将它转换为有效的双数。我知道我可以通过拆分字符串和解析来做到这一点但是有更好的方法吗?

2 个答案:

答案 0 :(得分:5)

Convert.ToDouble默认使用当前的文化设置

您当前的文化可能与.的{​​{1}}字符串不同。

作为一种解决方案,您可以使用已经拥有. {@ 1}} {@ 3}}的文化,或者NumberDecimalSeparator你的InvariantCulture NumberDecimalSeparator,将其CurrentCulture设置为NumberDecimalSeparator并在.方法中使用 克隆文化(或Convert.ToDouble )作为第二个参数。

double.Parse

var d = double.Parse(".1", CultureInfo.InvariantCulture);

答案 1 :(得分:4)

试试这个:

  Double result = Double.Parse(".1", CultureInfo.InvariantCulture);

通过指定CultureInfo.InvariantCulture,确保.为小数点分隔符。