我想转换串像".1",".2"等进入0.1,0.2等等.
我试过了:
Convert.ToDouble(".1")
Run Code Online (Sandbox Code Playgroud)
它崩溃了.我理解为什么它会崩溃,但我仍然需要将它转换为有效的双数.我知道我可以通过拆分字符串和解析来做到这一点,但有更好的方法吗?
Convert.ToDouble默认情况下使用当前文化设置.
可能你现在的文化有不同的字符串而不是.a NumberDecimalSeparator.
作为一个解决方案,你可以使用一个文化已经有.一个NumberDecimalSeparator像InvariantCulture,或者你可以Clone你CurrentCulture,设置它的NumberDecimalSeparator到.和使用的是在你的克隆培养Convert.ToDouble法(或double.Parse)作为第二个参数.
var d = double.Parse(".1", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
要么
var clone = (CultureInfo)CultureInfo.CurrentCulture.Clone();
clone.NumberFormat.NumberDecimalSeparator = ".";
var d = double.Parse(".1", clone);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
763 次 |
| 最近记录: |