【问题标题】: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。

标签: c#


【解决方案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:对不起,我不明白你的意思。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    • 2022-01-28
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 2016-04-30
    相关资源
    最近更新 更多