读书人

关于Float.NaN,该如何解决

发布时间: 2012-01-09 21:05:42 作者: rapoo

关于Float.NaN
float temp = Float.NaN;
if(temp == Float.NaN){
System.out.println( "ok ");
}
System.out.println( "end ");

float temp2 = Float.POSITIVE_INFINITY;
if(temp2 == Float.POSITIVE_INFINITY){
System.out.println( "ok ");
}
System.out.println( "end ");


输出结果为:
end
ok
end

当然,用Float.IsNaN 结果不同。但我想知道为什么?谢谢各位


[解决办法]
static public boolean isNaN(float v) {
return (v != v);
}


这个就是isNaN的实现,可见NaN不等于任何东西,包括它自身

读书人网 >J2SE开发

热点推荐