C#double类型如何转换成科学计数法(全网最全最好解决方案)

 

 

// 转换为科学计数法

double doubleData= data.ToString("0.0000E+00");

 

 

众所周知 G7的转换是有精度限制的,如代码:

 

double value1 = 1234.56789;
double value2 = 0.000123456789;//这个数据用G7显示肯定不会显示出想要的结果的,不会是科学计数法.
double value3 = 12345678901234567890.123456789;

string formattedValue1 = value1.ToString("G7", CultureInfo.InvariantCulture);
string formattedValue2 = value2.ToString("G7", CultureInfo.InvariantCulture);
string formattedValue3 = value3.ToString("G7", CultureInfo.InvariantCulture);

Console.WriteLine(formattedValue1);
Console.WriteLine(formattedValue2);
Console.WriteLine(formattedValue3);

 

所以这个时候需要对数据进行转换:

        private string FormatConversion(double data)
        {string value= Math.Abs(data).ToString("G7", CultureInfo.InvariantCulture);
            if (value.ToString().Length > 8)
            {
                value = data.ToString("0.00000E+0", CultureInfo.InvariantCulture);
            }
    return value;
        }

 

posted on 2024-01-30 18:02  8888888888888  阅读(736)  评论(0)    收藏  举报

导航

Live2D