Java double类型保留两位小数的四种方法

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 </div>

你可能感兴趣的:(java)