public class Double1 {
public static double parseDouble(String _s, double _def) {
try {
return Double.parseDouble(_s);
}
catch(Exception e) {
}
return _def;
}
public static void main(String[] args) {
Double1 db=new Double1();
boolean ab=db.parseDouble("vijay", Double.NaN)!=Double.NaN?true:false;
System.out.println("ab value: "+ ab);
System.out.println(Double.NaN==Double.NaN);
}
}
它应该返回 true
,而上面的代码返回 false
。为什么?
最佳答案
NaN 与所有事物(包括它们自己)相比都是假的。
你可以检查 NaN
Double.isNaN(doubleValue)
除了完全使用此行为外,它实际上什么都不做:如果 x != x
,则值 x 是 NaN。
关于java - Double.NaN 是一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8295720/