-2
我有雙重變量,它的值是:double.ToString()在C#中返回錯誤值
double d = 0.000000000000056843418860808015;
當我打印這個變量的打印錯誤。
d.ToString();
輸出: 「5.6843418860808E-14」
如何解決這個問題?
我有雙重變量,它的值是:double.ToString()在C#中返回錯誤值
double d = 0.000000000000056843418860808015;
當我打印這個變量的打印錯誤。
d.ToString();
輸出: 「5.6843418860808E-14」
如何解決這個問題?
那麼如果你想有一個輸出,而不需要格式化您的字符串指數表示:
d.toString("F25");
這會給你與多達25位小數「正確」的數量。
0,0000000000000568434188608
編輯:格式和轉換的完整列表,請here和快照對你來說是下方。
Original value: 1054.32179
F: 1054.32
F0: 1054
F1: 1054.3
F2: 1054.32
F3: 1054.322
double d = 0.000000000000056843418860808015;
var str = d.ToString("G17");
var value = str.Split('E')[0];
var zeros = Int32.Parse(str.Split('E')[1]);
var outputString = "";
zeros = Math.Abs(zeros);
var addstring = "0.";
for (var i = 0; i < zeros - 1; i++)
{
addstring += '0';
}
value = value.Remove(1, 1);
value = addstring + value;
請解釋一下什麼是 「錯」 與格式化值? – dasblinkenlight
@dasblinkenlight對他來說這是「錯誤的」,因爲這不是OP期望的。 OP應該瞭解科學記數法:https://en.wikipedia.org/wiki/Scientific_notation。 – aloisdg