float x = 0.3f;
float y = 0.4f;
float z = x + y;
System.out.println(z);打印结果是奇怪的:0.70000005;
请问各位大侠为什么???
谢谢了先~~

解决方案 »

  1.   

    因为java的浮点型的计算是不精确的
      

  2.   

    奇怪最后那个5?呵呵,没办法JAVA就这样的,浮点不精确.好象C/C++也是的吧,我记得老师给举过这个例子.这俩数还是挺不好找出来的呢,0.7+0.4就不这样,呵呵
      

  3.   

    这个java里也明确有提示的!!如果是精确的话最好用BigDecimal这个类
      

  4.   

    1楼说的对,非精确计算。 JAVA这点做的不够好