如何保留小数精度

来源:互联网 发布:unity3d人物模型下载 编辑:程序博客网 时间:2024/05/18 02:35

1.java中有自带的方法Math类中round,可以自己查看API。
API中是这么介绍的:round(double a) 返回参数中最接近的 long ,其中 long四舍五入为正无穷大。
Eg:

        double a=10;        double b=3.0;        double c;        c=a/b;        System.out.println(c);

上面的结果是:3.3333333333333335。如果想保留两位小数:

        double a=10;        double b=3.0;        double c;        c=a/b;        c=Math.round(c*100)/100.0;        System.out.println(c);

重点解释下c=Math.round(c*100)/100.0;这段代码。Math.round方法是把double类型数据中的小数会四舍五入,如果这个语句为c=Math.round(c);那么结果c=3.0。而我们想保留两位小数,就可以先把数据c扩大到所要两位小数精度乘上100,然后在Math.round(c)方法执行完后再除以之前乘上的100,这时的除数100必须是100.0应为前面处理过的数为整数,这时100如果也是整数得到结果为整数。