BigDecimal 简介,常用方法

本文详细介绍了BigDecimal类的构造方法及其常用的数值操作,如加减乘除,并强调了使用BigDecimal(String)构造方法避免精度损失的重要性。此外,还展示了如何设置精度进行除法运算,如使用ROUND_HALF_UP进行四舍五入。同时,讲解了NumberFormat进行货币和百分比格式化的应用,以及如何控制小数位数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用构造函数

  1. BigDecimal(int)

    创建一个具有参数所指定整数值的对象

  2. BigDecimal(double)

    创建一个具有参数所指定双精度值的对象

  3. BigDecimal(long)

    创建一个具有参数所指定长整数值的对象

  4. BigDecimal(String)

    创建一个具有参数所指定以字符串表示的数值的对象

推荐使用BigDecimal(String)创建,原因double类型无法准确转化为指定数字。

常用方法

  1. add(BigDecimal)        值相加

  2. subtract(BigDecimal) 值相减

  3. multiply(BigDecimal)  值相乘

  4. divide(BigDecimal)     值相除
    遇到除不尽出现无限不循环小数会报错,推荐使用时设置精度
    bigDecimal.divide(BigDecimal,2,BigDecimal.ROUND_HALF_UP) 保留2位小数四舍五入

  5. toString()

    将BigDecimal对象中的值转换成字符串

  6. doubleValue()

    将BigDecimal对象中的值转换成双精度数

  7. floatValue()

    将BigDecimal对象中的值转换成单精度数

  8. longValue()

    将BigDecimal对象中的值转换成长整数

  9. intValue()

    将BigDecimal对象中的值转换成整数

  10. toPlainString()
    将BigDecimal对象中的值转换成不带指数的字符串

保留指定位数小数

方法一:
进行除法时

bigDecimal.divide(BigDecimal,2) 保留2位小数  

bigDecimal.divide(BigDecimal,2,BigDecimal.ROUND_UP) 保留2位小数向上取整

bigDecimal.divide(BigDecimal,2,BigDecimal.ROUND_DOWN) 保留2位小数向下取整  

bigDecimal.divide(BigDecimal,2,BigDecimal.ROUND_HALF_UP) 保留2位小数四舍五入

方式二:

bigDecimal.setScale(位数,舍入模式);

格式化数值

NumberFormat currency = NumberFormat.getCurrencyInstance(); //货币格式化
NumberFormat percent = NumberFormat.getPercentInstance();  //百分比格式化
percent.setMaximumFractionDigits(3); //百分比小数点最多3位
BigDecimal loanAmount = new BigDecimal("12000.48"); //金额
BigDecimal interestRate = new BigDecimal("0.006"); //百分比

String loanAmountStr = currency.format(loanAmount);//金额进行格式化 str = 12,000.48
String interestRateStr = percent.format(interestRate);//百分比式化 str = 0.6%

   
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值