我是楼住~~
但是我在用System.out.println(tt);输出时却是1.1
为什么会这样啊?
在线等!!

解决方案 »

  1.   

    System.out.println(tt);  可以输出 数字型drawString(""+tt);       输出的字符型  肯定转换时 发生的错误  去看看JAVA基础
      

  2.   

    DecimalFormat一下
    把它格式化过来
      

  3.   

    double本来就有很多问题,用BigDecimal吧!
      

  4.   

    我是楼住~~
    可是为什么有的输出却是正确的 比方说:tt=2.1
    drawString(""+tt,20,30);
    但是有时候却错误~~
      

  5.   

    我想是因为通过计算应该是得到1.1,但实际上计算机计算出来得是1.0999999999999999999999999999.也就是说是属于计算机数值计算的问题,但是System.out.print()应该是执行了强制转化
      

  6.   

    DecimalFormat怎么用啊?
    能不能解释一下意思?
      

  7.   

    我以前曾经两次回答过这个问题,楼主请看这个帖子
    http://community.csdn.net/Expert/topic/3439/3439985.xml?temp=.4362757
      

  8.   

    我是楼住
    我知道啦~~
    应用:DecimalFormat类就可以啦~~
    以前的帖子有好多讲过这个类的~
    不过还是谢谢大家啦~
    现在接帖啦~~