Floating point 为什么float和double不在控制台上打印?
=>0 为什么不打印分形部分(小数点后的部分) =>0Floating point 为什么float和double不在控制台上打印?,floating-point,d,Floating Point,D,=>0 为什么不打印分形部分(小数点后的部分) =>0 如何使用writeln double打印?4/10是一个整数除法。在将结果截断为0之前,不会将其转换为double 而是将.0添加到文本: double x = 4/10; writeln(to!double(x)); 或在除法前将变量存储为双精度: double x = 4.0/10.0; writeln(x); 4是一个整数文本10是一个整数文本。因此,4/10是整数除法,它向下截断到最接近的整数。现在将此整数指定给一个双精度不会改
如何使用writeln double打印?
4/10
是一个整数除法。在将结果截断为0之前,不会将其转换为double
而是将.0
添加到文本:
double x = 4/10;
writeln(to!double(x));
或在除法前将变量存储为双精度:
double x = 4.0/10.0;
writeln(x);
4
是一个整数文本10
是一个整数文本。因此,4/10
是整数除法,它向下截断到最接近的整数。现在将此整数指定给一个双精度
不会改变任何事情
您需要使用双文本:
double a = 4;
double b = 10;
double x = a/b;
writeln(x);
4
和10
是int
值。代码中发生事情的顺序是:
4
除以10
,得到0
(int
)0
int
转换为0
double
x
x
double x = 4.0/10;
4.0
是一个double
值,因此4.0/10
产生一个double
结果。可能是因为4/10
被视为整数,结果是0I,就像Pascaldiv
,虽然比符号更详细,但它避免了混淆。
double x = 4.0/10;
double x = 4.0 / 10;