将不同的数字转换为小数 C#(科学记数法到十进制)
Posted
技术标签:
【中文标题】将不同的数字转换为小数 C#(科学记数法到十进制)【英文标题】:Convert to Different number to Decimals C# (scientific notation to decimal) 【发布时间】:2014-08-20 14:58:25 【问题描述】:我试图将下图转换为小数,但它引发了错误。请告诉我如何更改格式
8.37E-08-05
(科学记数法) ====> 0.00000008372014000000
var convertDecimal = Convert.ToDecimal("8.37E-08");
错误: 输入字符串的格式不正确。
【问题讨论】:
你试过什么代码? 你是如何“尝试转换”的? msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx 错误信息完全正确。 “8.37E-08-05”不是有效数字。 @ChristianHayter 的意思是字符串末尾的-05
不是科学计数法的有效部分。字符串对8.37E-08
有效,但是一旦遇到-05
,字符串就无效了。
【参考方案1】:
首先,字符串格式应该类似于8.37E-08
而不是8.37E-08-05
。
它是一个浮点数。您必须将其转换如下
decimal d = decimal.Parse("8.37E-08", System.Globalization.NumberStyles.Float);
【讨论】:
【参考方案2】:谢谢山姆
我使用相同的方法
decimal convertDecimal = Decimal.Parse("8.37E-08", NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint);
【讨论】:
以上是关于将不同的数字转换为小数 C#(科学记数法到十进制)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中将 E+ 数字从字符串转换为十进制? [复制]