使用多个格式说明符将Double转换为String

时间:2015-04-07 18:35:24

标签: c# .net string double string-formatting

我尝试将Double转换为String,我需要启用往返R和小写指数表示法。我查看了NumberFormatInfo,但它似乎没有定义指数符号。

我知道x.ToString("R").ToLower(),但如果有的话,我更喜欢直接的做法。

我检查的参考文献:

1 个答案:

答案 0 :(得分:0)

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