2015-04-07 33 views
0

我試圖將Double轉換爲String,我需要向下跳轉R並啓用小寫指數表示法。我看過NumberFormatInfo,但似乎沒有定義指數符號。將Double轉換爲具有多種格式說明符的字符串

我知道x.ToString("R").ToLower(),但我更喜歡直接的方法,如果有的話。

的引用我已經研究:

+0

擴展方法是什麼? – Fals

回答

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

+0

您的後兩個示例都沒有正確地往返(您丟失了2位精度) –

+0

更新了精度 – blarrg

相關問題