请教大神们关于double 和float类型的值比较问题
请看下面:
float testfloat = 2323.1f;
double testdouble = 2323.1;
这时    testfloat==testdouble  的值是FALSEfloat testfloat = 2323;
double testdouble = 2323;
这时    testfloat==testdouble  的值是TRUE
这时什么原理?double ,float,值比较

解决方案 »

  1.   

    精度问题
    double 和float在存储的时候精度是不一样的也就是说他们的实际值是不一样的。如果你仔细点的话就会发现在很多位小数0后面会有个不是0的小数出现....要比较float和double不管是float和float、double和double还是float和double进行比较 最好能指定统一的精度 这样才不会在比较的时候出这种由系统引发的意外
      

  2.   

    就算是double 对 double, 
    实际应用中相等比较也无意义。