java吧 关注:1,256,693贴子:12,750,146
  • 11回复贴,共1

为什么5.6-3.4=2.19999999999997

只看楼主收藏回复

public class a1
{
public static void main(String args[])
{
double x=5.6,y=3.4;
System.out.println(x-y);
}
}
有什么办法可以改变么


IP属地:湖南1楼2012-06-07 18:03回复
    楼主你在纠结什么问题?


    IP属地:黑龙江3楼2012-06-07 18:28
    回复
      没纠结什么 刚写了个计算机 然后乱试验一下 发现这个错误 我还以为我编错了
      然后问你们有没有办法改变?


      IP属地:湖南4楼2012-06-07 18:29
      回复
        是计算器....


        IP属地:湖南5楼2012-06-07 18:30
        回复
          我觉得可以保留个7、8位有效数字。
          新手,个人想法,仅供参考


          IP属地:上海来自Android客户端6楼2012-06-07 18:36
          回复
            类型改成bigdecimal,使用方法百他娘的度。


            7楼2012-06-07 18:38
            回复

              额```虽然我没做到 不过还是谢谢拉


              IP属地:湖南8楼2012-06-07 19:06
              回复

                你就差一步了


                IP属地:广东9楼2012-06-07 20:21
                回复
                  谢拉```


                  IP属地:湖南10楼2012-06-07 20:42
                  回复
                    你这个是double型,有这么多位小数。浮点型不精确的原因


                    IP属地:广东11楼2012-06-07 20:46
                    回复
                      浮点类型是会有一定的误差的


                      IP属地:上海12楼2012-06-07 20:48
                      回复