double value = 12345.6789;
//Roundtrip
Console.WriteLine(value.ToString("R")); // Result: 12345.6789
//Lowercase "e" denotes lowercase exponent symbol
Console.WriteLine(value.ToString("e")); // Result: 1.234568e+004
//Likewise uppercase "E" denotes uppercase exponent symbol
Console.WriteLine(value.ToString("E")); // Result: 1.234568E+004
//add precision after the "e"
Console.WriteLine(value.ToString("e8")); // Result: 1.23456789e+004
//Variable Precision
int Precision = value.ToString("R").Replace(".", "").Length - 1;
Console.WriteLine(value.ToString("e" + Precision.ToString())); //Result: 1.23456789e+004
https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx#EFormatString
擴展方法是什麼? – Fals