例如,如果您正在计算精度
p = correct / total
你能确保你不要除以零:
double p;
if (total == 0.0) {
p = 0.0;
}
else {
p == correct / total;
}
或者检查你是否有NaN?
double p = correct / total;
if (Double.isNaN(p)) {
p = 0.0;
}
方法有益,还是个人偏好?
答案 0 :(得分:7)
我会使用第一种方法,但不是比较为0,而是比较Math.abs(total) < TOLERANCE
,其中TOLERANCE是一些小值,如0.0001。这样可以防止非常接近0的结果偏离结果。