以指数形式表示数字

时间:2012-02-14 07:26:05

标签: c#

我需要将以下类型的十进制数转换为指数格式

数字0.00001格式为0.01E-04

我使用以下方法: string.Format("{0:E2}", dValue);

但这会返回0.01E-004

所以我需要在E之后将位数限制为2。 这可能吗?如果是这样:怎么样?

2 个答案:

答案 0 :(得分:9)

您需要使用自定义格式字符串来指定如何格式化小数:

string.Format("{0:0.##E+00}", dValue);

您可以在MSDN here上找到有关自定义数字格式字符串的详细信息。有关Exponent格式的特定部分。

答案 1 :(得分:6)

你想要的东西:

string text = dValue.ToString("0.###E+00");

(更改#个字符的数量,以便在 E之前更改的小数位数。)

您也可以通过调用string.Format来使用复合格式说明符,但我个人会使用一个简单的格式,除非您需要将其他文本放在它周围,在这种情况下您可以使用类似的东西:

string text = string.Format("Before {0:0.0###E+00} After", dValue);