This question already has answers here:
Parse a Number from Exponential Notation
(9个答案)
4年前关闭。
我已经尝试过这两个代码:
1)
2)
但它不适用于-8.13E-06值。
还有其他更好的选择来将科学计数法转换为十进制吗?
提前致谢。
或者,您可以指定
或如您的示例所示:
(9个答案)
4年前关闭。
我已经尝试过这两个代码:
1)
Decimal h2 = 0;
Decimal.TryParse("-8.13E-06", out h2);
2)
Decimal.Parse(Convert.ToString(used[row, column].Value), NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint);
但它不适用于-8.13E-06值。
还有其他更好的选择来将科学计数法转换为十进制吗?
提前致谢。
最佳答案
如果您的文化使用“。”作为分隔符:
decimal d = Decimal.Parse("-8.13E-06", System.Globalization.NumberStyles.Float);
或者,您可以指定
InvariantCulture
:decimal d = Decimal.Parse("-8.13E-06", System.Globalization.NumberStyles.Float, CultureInfo.InvariantCulture);
或如您的示例所示:
Decimal h2 = 0;
Decimal.TryParse("-8.13E-06", NumberStyles.Float, CultureInfo.InvariantCulture, out h2);
10-08 04:51