【发布时间】:2011-01-23 19:18:02
【问题描述】:
我有代码来计算两个数字之间的百分比差异 - (oldNum - newNum) / oldNum * 100; - 其中两个数字都是 doubles。我希望在 oldNum 为 0 的情况下必须添加某种检查/异常处理。但是,当我对 oldNum 和 newNum 的值都为 0.0 进行测试运行时,执行继续进行,就好像什么都没发生并且没有引发错误一样。使用ints 运行此代码肯定会导致算术除零异常。为什么 Java 会忽略 doubles?
【问题讨论】:
-
好问题 - 整数和双精度行为之间的不一致增加了混乱和麻烦。
-
@Raedwald - 考虑到这个问题是在您链接的问题之前 2 1/2 年发布的,我会说这个问题是这个问题的(可能)重复 :)
标签: java types integer double divide-by-zero