我想知道是否有办法在java中测试NaN。下面的代码返回NaN,它应返回“NA”。
if (tempAlloc == Double.NaN) {
tv4.setText("NA");
} else {
tv4.setText(customFormat("###.#%",
Double.toString(tempAlloc)));
}
答案 0 :(得分:26)
美国Double.isNaN(tempAlloc)
。如果参数为true
,则返回NaN
,否则返回false
。
这是通过检查参数是否不等于它自己(NaN
值的唯一属性)来实现的:
boolean isNaN == tempAlloc != tempAlloc;