Joh*_*lly -1 .net c# types scientific-notation
这可能是旧的,但我找不到任何东西.有谁知道为什么这个:
Convert.ToDecimal("3.14521963414679E-08")
Run Code Online (Sandbox Code Playgroud)
投
FormatException("输入字符串的格式不正确.")
但是这可以按预期工作吗?
Convert.ToDouble("3.14521963414679E-08")
Run Code Online (Sandbox Code Playgroud)
我以为Convert.ToDecimal可以处理指数 - 也许我错了.
Convert.ToDecimal 不支持科学记数法.
据记载,Convert.ToDecimal内部使用Decimal.Parse和使用的状态的文档Decimal.ParseNumberStyles.Number,因此只有以下是有效的输入:
[ws][sign][digits,]digits[.fractional-digits][ws]
Run Code Online (Sandbox Code Playgroud)
要支持科学记数法,您必须使用另一个重载Decimal.Parse,允许您指定NumberStyles要使用的:
var result = decimal.Parse("3.14521963414679E-08",
NumberStyles.Number | NumberStyles.AllowExponent);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
864 次 |
| 最近记录: |