0
点赞
收藏
分享

微信扫一扫

JAVA笔记 | BigDecimal进行数值运算及格式化

_刘彦辉 2022-05-05 阅读 79

 

构造BigDecimal

BigDecimal(int)、BigDecimal(double)、BigDecimal(long)、BigDecimal(String)

创建一个整型/双精度/长整型/字符串数字初始值

一般使用BigDecimal(String)来初始化值,因为BigDecimal(double)无法控制精度

BigDecimal a = new BigDecimal("0.01");

加减乘除

加法add

BigDecimal a = new BigDecimal("0.01");
BigDecimal b = new BigDecimal("0.02");
BigDecimal result = a.add(b);

减法subtract

BigDecimal a = new BigDecimal("0.01");
BigDecimal b = new BigDecimal("0.02");
BigDecimal result = a.subtract(b); //结果为-0.01

乘法multiply

BigDecimal a = new BigDecimal("0.01");
BigDecimal b = new BigDecimal("0.02");
BigDecimal result = a.multiply(b);

除法divide

BigDecimal a = new BigDecimal("0.01");
BigDecimal b = new BigDecimal("0.02");
BigDecimal result = a.divide(b);

当分母为0,报错 java.lang.ArithmeticException: Division by zero

格式化

舍入模式

 常用模式四舍五入

BigDecimal a = new BigDecimal("1");
BigDecimal b = new BigDecimal("0.055");
BigDecimal c =a.multiply(b).setScale(2,BigDecimal.ROUND_HALF_UP)

结果为0.06 保留两位采用=四舍五入模式

去除结尾多余的0

通过.stripTrailingZeros()可去除为结尾多余的0

如0.00 -》0,0.660000000000 -》 0.66

举报

相关推荐

0 条评论