java中的bigdecimal

一、 java中的bigdecimal的介绍:
java中提供了对大数字的操作类,用于进行高度的精确计算,如BigInteger(大整数)和BigDecimal(大小数)类。
而平常java中两个基本数据类型float和double都只是适用于一般的科学计算和工程计算,要是在比较精确的计算方面如金钱类等,那么使用float和double会相应的丢失精度从而造成极大的损失,因此用于精密计算大数字的类BigDecimal就必不可少了。它支持任何精度的定点数,可以进行精确的计数。
此外BigDecimal创建的是一个对象,因此传统意义上的+、-、*、/都不适用与其计算,而是要有相应的方法来进行代替。
下面我们首先会从BIgDecimal的构造函数以及常用的方法进行一个简单的介绍。

  1. BigDecimal的构造函数
    BigDecimal BigDeciaml( double d )
    注:该构造函数不推荐使用,因为double不能精确获得相应的值。
    BigDecimal BigDecimal( String String )
    注:该方法推荐使用,因为作为一个可以预测的入参,那么它的值将可以精确的获得。
    static BigDecimal valueof( double d )
    注:该方法推荐使用,因为它的内部实现也是将double数值改变为String类型。
    2、BigDecimal中的保留小数的应用
    BigDecimal.setScale()方法用于格式化小数。
    BigDecimal.setScale(1)表示保留一位小数,默认为四舍五入。
    BigDecimal.setScale(1, BigDecimal.ROUND_DOWN)表示直接舍弃后面多余的小数,如3.35会变为3.3
    BigDecimal.setScale(1, BigDecimal.ROUND_UP)表示直接进行进位,如3.33会变为3.4
    BigDecimal.setScale(1, BigDecimal.ROUND_HALF_UP)表示四舍五入(向上取整),如3.35变为3.4
    BigDecimal.setScale(1, BigDecimal.ROUND_HALF_DOWN)表示四舍五入(向下取整),如3.35变为3.3
    3、BigDecimal中常用的方法
    BigDecimal remainder(BigDecimal divisor);//求余数
    BigDecimal negate();//求相反数
    int compareTo(BigDecimal val);//进行两个数的比较大小当此 BigDecimal 在数字上小于、等于或大于 val 时,返回 -1、0 或 1
    BigDecimal add(BigDecimal bigDecimal );//加法
    BigDecimal subtract(BigDecimal bigDecimal );//减法
    BigDecimal multiply(BigDecimal bigDecimal );// 乘法
    BigDecimal divide(BigDecimal bigDecimal );// 除法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值