[英]What is the right way to handle NaN in Java?
例如,如果您正在計算精度
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,而是比較Math.abs(total) < TOLERANCE
,其中TOLERANCE是一些小值,如0.0001。 這將防止非常接近0的結果偏離結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.