C#:指数格式说明符

Ole*_* Sh 1 c# formatting mantissa number-formatting exponential

我有一个双号:

element.MaxAllowableConcLimitPpm = 0.077724795640326971;
Run Code Online (Sandbox Code Playgroud)

我需要将其显示为

7.7725e-2

当我尝试使用它时:

element.MaxAllowableConcLimitPpm.ToString("e4", CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)

它返回

7.7725e-002

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

格式如下:

.ToString("0.0000e0")
Run Code Online (Sandbox Code Playgroud)

回报

5.0000e2

代替

5.0000e + 2

Jon*_*eet 10

您必须使用自定义数字格式字符串 - 标准数字格式字符串在指数中始终至少有三位数.

自定义字符串示例:

using System;

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

标准数字格式字符串的文档(强调我的):

格式说明符的情况表示是否用"E"或"e"作为前缀的前缀.指数始终由加号或减号以及至少三位数组成.如果需要,指数用零填充以满足此最小值.