[英]double.ToString() return wrong value in C#
我有雙變量,它的值是:
double d = 0.000000000000056843418860808015;
當我打印這個變量時,它的打印錯誤。
d.ToString();
輸出:“5.6843418860808E-14”
如何解決這個問題?
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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.