java – 双值返回0

参见英文答案 > Int division: Why is the result of 1/3 == 0?                                    15个
这是一个例子:

Double d = (1/3);
System.out.println(d);

这将返回0,而不是0.33333 ….

有人知道吗?

解决方法:

这是因为当你没有另外指定时,1和3被视为整数,因此1/3计算整数0,然后将其强制转换为双0.要修复它,请尝试(1.0 / 3),或者可能是1D / 3明确声明你正在处理双值.

上一篇:Java中的除法总是导致零(0)?


下一篇:java – 动态地将KB转换为MB,GB,TB