java double类型保留两位小数4种方法


4种方法,都是四舍五入,例:

    import java.math.BigDecimal;
    import java.text.DecimalFormat;
    import java.text.NumberFormat;
    public class format {
        double f = 111231.5585;
        public void m1() {
            BigDecimal bg = new BigDecimal(f);
            double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
            System.out.println(f1);
        }
        /**
         * DecimalFormat转换最简便
         */
        public void m2() {
            DecimalFormat df = new DecimalFormat("#.00");
            System.out.println(df.format(f));
        }
        /**
         * String.format打印最简便
         */
        public void m3() {
            System.out.println(String.format("%.2f", f));
        }
        public void m4() {
            NumberFormat nf = NumberFormat.getNumberInstance();
            nf.setMaximumFractionDigits(2);
            System.out.println(nf.format(f));
        }
        public static void main(String[] args) {
            format f = new format();
            f.m1();
            f.m2();
            f.m3();
            f.m4();
        }
    }
//还有一种直接向上取整数


## //java:Java的取整函数





    //Math.floor()、Math.ceil()、BigDecimal都是Java中的取整函数,但返回值却不一样

            Math.floor()
            通过该函数计算后的返回值是舍去小数点后的数值
            如:Math.floor(3.2)返回3
            Math.floor(3.9)返回3
            Math.floor(3.0)返回3

            Math.ceil()
            ceil函数只要小数点非0,将返回整数部分+1
            如:Math.ceil(3.2)返回4
            Math.ceil(3.9)返回4
            Math.ceil(3.0)返回3


原文链接:https://blog.csdn.net/huaishuming/article/details/17752365?ops_request_misc=&request_id=&biz_id=102&utm_term=java&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduweb~default-3-17752365.nonecase&spm=1018.2226.3001.4450