java中的NaN,一个令人吐血的未知数

今天使用自己的 nokia 8500 做 jsr179 测试时候,调用它的api返回给我一个NaN.一开始莫名其妙,手机报一个 NumberFormatException 异常给我,但是虚拟器上面运行的却非常顺畅,我很是纳闷,无非就只有在读取通过手机拉取数据的时候发生的问题,其他的流程根本就不会受任何因素的影响,但是手机上面又没有像程序开发工具一样可以输出调试信息【上次看见了一篇,讲手机上的调试程序,忘记地址了,有心的去google一下就知道了】, 纳闷啊。

 

     没办法,只有一步一步检查程序的逻辑,当我发现程序的逻辑基本上时没问题的时候,我更迷惑了,迫不得已,我把它用 低级用户界面类的 画布 类把它的数据打印了出来,才发现原来 5800 在没有任何信息的时候返回给了我一个NaN,狂晕啦,很是纳闷。它究竟做了什么?

 

    也就最近才java开发,毕业快本年,都在做php,习惯性的用起了php里面的NaN思路,哪知道是错误的。

 

   最总:

 

  Google出:判断的是Float.NaN的两种判断方法   
   1.

      Float   a   =   new   Float(0.0f   /   0.0f);  
      if   (a.equals(new   Float(0.0f   /   0.0f))){  
        System.out.println("a   is   NaN");  
      }  
    

  2.   if(a.isNaN()){  
        System.out.println("a   is   NaN");  
      }

 

你可能感兴趣的:(java)