财务专用:java-math-BigDecimal---数字格式化

使用 BigDecimal 时一定要使用字符串加双引号类型

其他类型不精确 BigDecimal bigDecimal = new Bigdecimal("0.09");

//需求:打印:0.09+0.01;
//1-0.34;
//1.438/100
public class BigDecimalDemo{
    public static void main(String[] args){
        System.out.println(0.09+0.01);//0.099999
        System.out.println(1+0.34);//差一点
        System.out.println(1.438、100);//差一点
        //以上输出结果的精度不够
        //使用 BigDecimal 时一定要使用字符串加双引号类型,其他类型不精确
        
        String string = new String(10);
        String.valueOf(10);
        //或者String s2 = 10+" ";(10加上一个字符串去运算)
        
        BigDecimal bigDecimal2 = new Bigdecimal("0.09");
        BigDecimal bigDecimal3 = new Bigdecimal("0.01");
        
        //加法
        BigDecial add = bigDecimal2.add(bigDecimal3 );
        System.out.println(add);
        
        //减法
        bigDecimal subtract = bigDecimal2.subtract(bigDecimal3);
        System.out.println(subtract);
        //乘法
        bigDecimal multiply = bigDecimal2.multiply(bigDecimal3);
        System.out.println(multiply);
        //除法
         bigDecimal divide= bigDecimal2.divide(bigDecimal3);
        System.out.println(divide);       
    }
}

 

数字格式化:

public class DecimalFormatTest01 {
    public static void main(String[] args) {

        /*
        数字格式有哪些?
            # 代表任意数字
            , 代表千分位
            . 代表小数点
            0 代表不够时补0

            ###,###.##
                表示:加入千分位,保留2个小数。
         */
        DecimalFormat df = new DecimalFormat("###,###.##");
        //String s = df.format(1234.56);
        String s = df.format(1234.561232);
        System.out.println(s); // "1,234.56"

        DecimalFormat df2 = new DecimalFormat("###,###.0000"); 
        //保留4个小数位,不够补上0
        String s2 = df2.format(1234.56);
        System.out.println(s2); //"1,234.5600"

    }
}

 

posted @ 2022-04-29 11:17  280887072  阅读(365)  评论(0编辑  收藏  举报