Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# double.ToString()在C中返回错误的值#_C#_.net_Formatting_Double - Fatal编程技术网

C# double.ToString()在C中返回错误的值#

C# double.ToString()在C中返回错误的值#,c#,.net,formatting,double,C#,.net,Formatting,Double,我有双变量,其值为: double d = 0.000000000000056843418860808015; 当我打印这个变量时,它的打印错误 d.ToString(); 输出:“5.6843418860808E-14” 如何解决此问题?如果您希望输出不带指数符号,则需要格式化字符串: d.toString("F25"); 这将为您提供最多25个小数位数的“正确”数字 00000000000000 568434188608 编辑:完整的格式和转换列表可用,下面是您的快照 Original

我有双变量,其值为:

double d = 0.000000000000056843418860808015;
当我打印这个变量时,它的打印错误

d.ToString();
输出:“5.6843418860808E-14”


如何解决此问题?

如果您希望输出不带指数符号,则需要格式化字符串:

d.toString("F25");
这将为您提供最多25个小数位数的“正确”数字

00000000000000 568434188608

编辑:完整的格式和转换列表可用,下面是您的快照

Original value: 1054.32179

F:                     1054.32 
F0:                    1054 
F1:                    1054.3 
F2:                    1054.32 
F3:                    1054.322
double d=0.0000000000000568434188608015;
var str=d.ToString(“G17”);
var值=str.Split('E')[0];
var zeros=Int32.Parse(str.Split('E')[1]);
var outputString=“”;
零=Math.Abs(零);
var addstring=“0。”;
对于(变量i=0;i<0-1;i++)
{
addstring+='0';
}
值=值。删除(1,1);
value=addstring+value;
请解释格式化值的“错误”是什么?@dasblinkenlight对他来说是“错误”的,因为这不是OP所期望的。OP应该学习科学符号:。
        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;