java中对除法取2位小数的一点试验

  如下程序,

double a = 12.3333333,b = 11.22222222222;
        double c = 0;
        
        String d = String.format("%.2f", c);
        System.out.println(d+"----------->"+c);
        
        DecimalFormat df = new DecimalFormat("##.00");
        String e = df.format(c);
        System.out.println(e);
        
        double f = (double)Math.round(c*100)/100.0;
        System.out.println(f);

  输出结果为:

0.00----------->0.0
.00
0.0

  第一种最好,保留了我们想要的格式。

  第一种方法是直接的用字符串的格式化,简单方便。第二种是调用decimalFormat来进行,这里有一些注意的,记得##的作用。第三种是用的四舍五入来做的,比较粗糙,用

Math.round方法把double转为long来做,最后再来除,是一种数学上的方法,精度不太准。

posted @ 2016-01-26 14:19  likeshu  阅读(433)  评论(0编辑  收藏  举报