BigDecimal

package com.mao.two;

import java.math.BigDecimal;

public class BigDecimalDemo01 {
    public static void main(String[] args) {
        //1.通过传递double类型的小数来创建对象  这方式有可能不精确 不建议使用
        BigDecimal bd1 = new BigDecimal(0.01);
        BigDecimal bd2 = new BigDecimal(0.09);

        System.out.println(bd1);
        System.out.println(bd2);

        //2.通过传递字符串的小数来创建对象
        BigDecimal bd3 = new BigDecimal("0.01");
        BigDecimal bd4 = new BigDecimal("0.09");
        BigDecimal bd5 = bd3.add(bd4);
        System.out.println(bd3);
        System.out.println(bd4);
        System.out.println(bd5);

        //3.通过静态方法获取对象
        BigDecimal bd6 = BigDecimal.valueOf(10);
        System.out.println(bd6);

        //1.如果表示的数字不大,没有超出double的取值范围,建议使用静态方法
        //2.如果表示的数字比较大,超出了double的取值范围,建议使用构造方法
        //3.如果我们传递的是0~10之间的整数,包含0,包含10,那么方法会返回自己已经创建好的对象,不会重新new
    }
}

 

 

package com.mao.two;

import java.math.BigDecimal;
import java.math.RoundingMode;

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

        //1. 加法
        BigDecimal bd1 = BigDecimal.valueOf(10.0);
        BigDecimal bd2 = BigDecimal.valueOf(4.0);
        BigDecimal bd3 = bd1.add(bd2);
        System.out.println(bd3);

        //2.减法
        BigDecimal bd4 = bd1.subtract(bd2);
        System.out.println(bd4);

        //3.乘法
        BigDecimal bd5 = bd1.multiply(bd2);
        System.out.println(bd5);

        //4.除法
        BigDecimal bd6 = bd1.divide(bd2);
        System.out.println(bd6 );

        //5.除法 保留几位
        BigDecimal bd7 = bd1.divide(bd2,2, RoundingMode.HALF_UP);//保留两位 四拾伍入
        System.out.println(bd6 );

    }
}

 

 

 

package com.mao.two;

import java.math.BigDecimal;

public class BigDecimalDemo03 {
    public static void main(String[] args) {
        BigDecimal bd1 = BigDecimal.valueOf(0.226);
        BigDecimal bd2 = BigDecimal.valueOf(123.226);
        BigDecimal bd3 = BigDecimal.valueOf(-1.5);
    }
}

 

posted @ 2022-08-18 08:12  是貓阿啊  阅读(28)  评论(0)    收藏  举报