floating-point - 为什么 float 和 double 不在控制台上打印?

标签 floating-point d

double x = 4/10;
writeln(x);

=> 0

为什么不打印分形部分(小数点后的部分)?

double x = 4/10;
writeln(to!double(x));

=> 0

如何用 writeln double 打印?

最佳答案

410int 值。您的代码中事情发生的顺序是:

  1. 4 除以 10 整数,得到 0 (int ).

  2. 0 int 转换为 0 double

  3. 存储在x

  4. 输出x

要得到double除法,使用:

double x = 4.0 / 10;

4.0 是一个 double 值,因此 4.0/10 产生一个 double 结果。

关于floating-point - 为什么 float 和 double 不在控制台上打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29673699/

相关文章:

floating-point - 在 wiki 中关于用 float 表示 0.1

function - 有没有办法将 D 中的函数变量转换为字符串?

makefile - 如何使用 D 的生成文件?

winapi - 使用 WinAPI 函数时垃圾收集器崩溃

syntax - D中的基本运算符重载(第2部分)

linux - 如何在 Linux 中使用 D 编程语言取消缓冲输入?

c++ - VS-2019 程序在某些服务器上的第一个浮点指令处崩溃

c++ - 随机 float 生成

java - 浮点 - NaN

c - C中的浮点运算是关联的吗?