System.out.println(" "+Math.round(a*0.18));

解决方案 »

  1.   

    class aaa
    {
      public static void main(String args[])
      {
         int a=5;
         System.out.println(" "+(float)(a*0.18));
       }
    }这样就ok了,,谢谢大家的帮助
      

  2.   

    不过我得说说我的看法:
    (float)(a*0.18)
    能够得到真确的答案,其事实是我们只是忽略了一些精度
    从某种意义上来说,这个答案的精度不如 a*0.18 因为其是 double 型的
    我们想象就知道了 0.18 用二进制是表达不出来的(至少是 double 精度表达不了的)
    所以一般精度的计算机得不到 0.18 的准确值的,就只有减小精度咯
    而人却不同,在小学就知道不必先知道 0.18 的精确二进制值就可以
    完美的算出 5*0.18 的答案,是因为我们用了我们的数学技巧