C#:指数格式说明符

C#: Exponential Format Specifier

我有双号:

element.MaxAllowableConcLimitPpm = 0.077724795640326971;

我需要将其显示为

7.7725e-2

当我尝试使用它时:

element.MaxAllowableConcLimitPpm.ToString("e4", CultureInfo.InvariantCulture)

它returns

7.7725e-002

怎么说尾数应该有一个符号而不是3个?

格式如下:

.ToString("0.0000e0")

returns

5.0000e2

而不是

5.0000e+2

您必须使用自定义数字格式字符串 - 标准数字格式字符串的指数始终至少包含三位数字。

带有自定义字符串的示例:

using System;

public class Test
{    
    static void Main()
    {
        double value = 0.077724795640326971;
        Console.WriteLine(value.ToString("0.0000e+0")); // 7.7725e-2
    }
}

来自 standard numeric format strings 的文档(强调我的):

The case of the format specifier indicates whether to prefix the exponent with an "E" or an "e". The exponent always consists of a plus or minus sign and a minimum of three digits. The exponent is padded with zeros to meet this minimum, if required.