BigDecimal的使用

1、加减乘除

//初始化
BigDecimal num1 = new BigDecimal("5");
BigDecimal num2 = new BigDecimal("5");

//加法
BigDecimal add = num1.add(num2);

//减法
BigDecimal subtract = num1.subtract(num2);

//乘法
BigDecimal multiply = num1.multiply(num2);

//除法- num1/num2, 保留小数点后两位, 四舍五入
BigDecimal divide = num1.divide(num2, 2,BigDecimal.ROUND_HALF_UP);

/*八种舍人方式:
* ROUND_UP: 入
* ROUND_DOWN: 舍
* ROUND_CEILING: 正数-入, 负数-舍
* ROUND_FLOOR: 正数-舍, 负数-入
* ROUND_HALF_UP: 四舍五入
* ROUND_HALF_DOWN: 五舍六入
* ROUND_HALF_EVEN: 四舍六入, 五的时候, 前一位是奇数-入, 前一位是偶数-舍
* ROUND_UNNECESSARY: 断言请求的操作具有精确的结果, 因此不需要舍入. 如果对获得精确结果的操作指定此舍入模式, 则抛出ArithmeticException.
* */

2、判断是否为0

//初始化
BigDecimal num1 = new BigDecimal("0.0");
BigDecimal num2 = new BigDecimal("0");

//判断大小和保留位数
System.out.println( num1.equals(BigDecimal.ZERO) ); // false
System.out.println( num2.equals(BigDecimal.ZERO) ); // true

//只判断大小
System.out.println( num1.compareTo(BigDecimal.ZERO) == 0 ); // true

3、String(百分比)转换成BIgDecimal类型 

//String(百分比)转换成BIgDecimal类型
String percentage = "10%";
percentage = percentage.substring(0 , percentage.length()-1);  //去掉%
double d = Double.valueOf(percentage);
BigDecimal b = BigDecimal.valueOf(d);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值