java中BigDecimal使用注意事项
来源:互联网 发布:做天猫,淘宝客服怎么样 编辑:程序博客网 时间:2024/05/01 06:13
比较
必须使用compareTo进行比较,看返回结果是-1、0、1判断两个数是A大于B,等于B,还是小于B。
calcResult.getTotalPromotion().compareTo(BigDecimal.ZERO) > 0dangdangVipDiscount.compareTo(BigDecimal.valueOf(100)) == 0
转换
BigDecimal没有提供自动装箱的支持,所以不能直接和原始数据进行比较、运算,在比较或者运算前需要把非BigDecimal的数据转成BigDecimal数据:
BigDecimal.valueOf(100)
乘除
要先乘后除,以防止除不尽时(而小数计算时大多情况会出现除不尽),被舍弃的小数的影响被后续的乘法进一步放大。
promotionPriceMap.get(productId).multiply(promotionPrice).divide(totalPrice, 2, BigDecimal.ROUND_HALF_UP)
精确到指定位数
salePrice.multiply(shopVIPDiscount).setScale(2, RoundingMode.HALF_UP)price.divide(total, 2, BigDecimal.ROUND_HALF_UP)//可能不能除尽的情况使用discount.divide(10) //确定能够除尽的情况使用
0 0
- java中BigDecimal使用注意事项
- Java中的BigDecimal使用注意事项
- Java BigDecimal divide注意事项
- java中BigDecimal的使用
- Java中BigDecimal的使用
- java中BigDecimal的使用
- Java中BigDecimal的使用
- JAVA equals Douible BigDecimal 使用时候的几个注意事项
- 使用BigDecimal时的注意事项
- 使用BigDecimal计算精度注意事项
- java中使用BigDecimal保留小数位数
- Java中BigDecimal解析
- Java中BigDecimal解析
- java中Bigdecimal数据类型
- Java中BigDecimal比较
- 使用java.math.BigDecimal
- Java BigDecimal使用
- java BigDecimal的使用
- 高级迭代器(字母算术谜题)
- C++上机报告
- mongoose删除集合方法
- 并查集或图floyd-2
- Windows定时任务相关与常见异常
- java中BigDecimal使用注意事项
- Java实现一个二分查找
- vue.js学习(四)
- ionic---数据本地存储sqlite
- IntelliJ IDEA 配置Tomcat运行web项目
- runtime源码探究(五)category的加载
- 防火墙技术之---ALG技术
- CSDN日报20170227——《什么样的离开会让老板念念不忘》
- Java静态代码块 静态变量执行顺序