我想将".1"
,".2"
等字符串转换为0.1
,0.2
等。
我试过了:
Convert.ToDouble(".1")
它崩溃了。我理解为什么它会崩溃,但我仍然需要将它转换为有效的双数。我知道我可以通过拆分字符串和解析来做到这一点但是有更好的方法吗?
答案 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
,确保.
为小数点分隔符。