0
点赞
收藏
分享

微信扫一扫

BigDecimal在使用中遇到的问题

老榆 2022-04-14 阅读 79

问题出处

今天在做活动统计的时候遇到的问题,数据库使用的字段为字符串来存储金额,解释就是不确定奖励是物品还是金钱,所以使用字符串来存储的,在查询做统计的时候需要对这个字段进行相加操作,本来想了下在mapper里直接使用sql来进行统计,后来测试是行不通的,又因为里面涉及到不同的服务只能在控制层来处理了,因为涉及到了钱,故才使用BigDecimal来做处理,因为第一次用不是太了解,就遇到了好多错,不过最后还是解决了问题,特在此记上一篇.

空指针问题

在这里插入图片描述

在使用BigDecimal创建对象的时候,初始化为0,不能看它是一对象就初始化为null

 BigDecimal totalPrizeNum = null;//谨记下 false
 BigDecimal waitPayment = BigDecimal.ZERO;//true

计算加减乘除的时候得到的结果为0问题

在使用BigDecimal做加法运算时,需要一个对象来接收相加后的值,不然结果就会是0了,下面是它的源码
在这里插入图片描述
我下面的所做的运算就是0,原因是相加的结果没有接收
在这里插入图片描述
正确的做法
在这里插入图片描述

举报

相关推荐

0 条评论