双精度值返回0
答
这是因为1
和3
作为integers
处理时不另行指定,所以1/3
计算结果为integer
0
,然后投给double
0
。要修复它,请尝试(1.0/3)
或1D/3
以明确说明您正在处理双精度值。
答
如果您有想要使用浮点除法来划分int
S,你必须投的int
到double
:
double d = (double)intValue1/(double)intValue2
(事实上,只有铸造intValue2
应该足够有在intValue1
被自动强制转换为double
,我相信。)
答
使用双,而不是双,除非你需要使用这些VALU es在对象意义上。请注意0的概念
[Java中的Division总是导致零(0)?]的可能重复(http://stackoverflow.com/questions/10455677/division-in-java-always-results-in-零-0) – 2017-01-21 17:14:36
@ΦXocę웃Пepeúpaツ它不是重复的。这个问题是这个问题的重复。查看日期之前的日期 – Zoe 2017-07-16 09:23:57