BigDecimal类

一:意义

用于解决浮点型运算时,出现的失真的问题。

二:用法

1.构造器:

BigDecimal(String val) 把String转成BigDecimal

2.方法:

valueOf(double val) 转换一个double成 BigDceimal。

add(BigDceimal b) 加法。

subtract(BigDceimal b) 减法。

multiple(BigDceimal b) 乘法。

divide(BigDceimal b) 除法。

divide(另一个BigDceimal对象,精确几位,舍入模式) 除法,可以控制精确到小数几位。

doubleValue() 将BigDceimal转换为double。

三:示例

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

public class BIG {
    public static void main(String[] args) {
        double a1 = 0.1;
        double b1 = 0.2;

        //        BigDecimal a2 = new BigDecimal(Double.toString(a1));
        //        BigDecimal b2 = new BigDecimal(Double.toString(b1));
        //推荐使用下面这种方式
        BigDecimal a2 = BigDecimal.valueOf(a1);
        BigDecimal b2 = BigDecimal.valueOf(b1);

        a2.add(b2);//加法

        a2.subtract(b2);//减法

        a2.multiply(b2);//乘法

        a2.divide(b2);//除法

        a2.divide(b2, 3);//除法可以精确控制到小数几位。

        a2.divide(b2, 1, RoundingMode.HALF_UP);//除法可以精确控制到小数几位并且采用了舍入模式。

        double a3 = a2.doubleValue();//将BigDecimal转化为double。

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值