我是靠谱客的博主 无私发带,最近开发中收集的这篇文章主要介绍BigDecimal在使用中遇到的问题问题出处,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题出处

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

空指针问题

在这里插入图片描述

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

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

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

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

最后

以上就是无私发带为你收集整理的BigDecimal在使用中遇到的问题问题出处的全部内容,希望文章能够帮你解决BigDecimal在使用中遇到的问题问题出处所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部