如何避免在double中舍入为0

时间:2016-02-24 19:15:03

标签: java math double rounding

我正在努力获得一个双倍值来设置正确的数字。

在以下代码中:

double d =  (double) (500 / 1000) / 9000;

d设置为0.0

我知道双打有限制,也许我的问题是我超出限制,但如果我有更合适的方法存储此计算结果?

2 个答案:

答案 0 :(得分:3)

(500 / 1000) / 9000更改为(500.0 / 1000) / 9000,以便执行浮点除法,而不是int除法。 500 / 1000返回0500.0 / 1000返回0.5

答案 1 :(得分:-1)

你正在计算ints尝试使用双打:

double d = (500.0 / 1000.0) / 9000.0;