以指数形式表示数字
Posted
技术标签:
【中文标题】以指数形式表示数字【英文标题】:Representing Numbers in Exponential form 【发布时间】:2012-02-14 07:26:05 【问题描述】:我需要将以下类型的十进制数转换为指数格式
编号0.00001
格式化为0.01E-04
为此,我使用以下方法:
string.Format("0:E2", dValue);
但这会返回0.01E-004
所以我需要将E
之后的位数限制为2。
这可能吗?如果是这样:如何?
【问题讨论】:
嗯,需要将小数点后和E后的位数限制为2。所以应该表示为0.01E-04。 【参考方案1】:您需要使用自定义格式字符串来指定如何格式化小数:
string.Format("0:0.##E+00", dValue);
您可以在 MSDN here 上找到有关自定义数字格式字符串的更多信息。有一个关于Exponent 格式的特定部分。
【讨论】:
【参考方案2】:我认为你想要这样的东西:
string text = dValue.ToString("0.###E+00");
(更改#
字符的数量以更改在E之前的小数位数。)
您也可以通过调用string.Format
来使用复合格式说明符来做到这一点,但我个人会使用一个简单的格式说明符,除非您需要在其周围添加其他文本,在这种情况下您会使用类似:
string text = string.Format("Before 0:0.0###E+00 After", dValue);
【讨论】:
@PranayRana:对不起,我不明白你的意思。以上是关于以指数形式表示数字的主要内容,如果未能解决你的问题,请参考以下文章