【问题标题】:C#: Exponential Format SpecifierC#:指数格式说明符
【发布时间】:2018-07-01 13:28:14
【问题描述】:

我有一个双数:

element.MaxAllowableConcLimitPpm = 0.077724795640326971;

我需要显示为

7.7725e-2

当我尝试使用它时:

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

返回

7.7725e-002

如何说尾数应该有一个符号而不是 3?

格式如下:

.ToString("0.0000e0")

返回

5.0000e2

而不是

5.0000e+2

【问题讨论】:

    标签: c# formatting number-formatting exponential mantissa


    【解决方案1】:

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

    自定义字符串示例:

    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 的文档(强调我的):

    格式说明符的大小写指示是在指数前加上“E”还是“e”。 指数总是由一个加号或减号和最少三位数字组成。如果需要,指数用零填充以满足这个最小值。

    【讨论】:

    • 如果尾数为正或为零,它会丢失“+”。 5.0000e3 而不是 5.0000e+3
    猜你喜欢
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多