我是靠谱客的博主 朴素大树,最近开发中收集的这篇文章主要介绍BigDecimal类型的数据后端要做判断,要用compareTo!!,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我们项目需求,要对两个BigDecimal类型的数据进行比较,

   一开始呢,没去看数据库两个字段类型,觉得,这不是简简单单嘛?

for (PurGoodsTraceVo purGoodsTraceVo : systemReportDao.queryPurGoodsTraceList(queryObject)) {

            if (distr.equals(distr3)) {
                if (purGoodsTraceVo.getSendHosQty().equals(purGoodsTraceVo.getHosPurQty())) {
                    purGoodsTraceVos.add(purGoodsTraceVo);
                }
            }
            if (distr.equals(distr2)) {
                if (purGoodsTraceVo.getSendHosQty().equals(0)) ||purGoodsTraceVo.getStatus().equals("30")){
                    purGoodsTraceVos.add(purGoodsTraceVo);
                }
            }
            if (distr.equals(distr1)) {
                if (!purGoodsTraceVo.getSendHosQty().equals(purGoodsTraceVo.getHosPurQty())
                        && (purGoodsTraceVo.getSendHosQty().equals(0)) {
                    purGoodsTraceVos.add(purGoodsTraceVo);
                }

        页面判断只有第一个条件成功,后面两个条件怎么都不生效。打断点进来看,传来的数据,值类型为BigDecimal!0.00 !

              结果将判断用了compareTo,问题就解决~

for (PurGoodsTraceVo purGoodsTraceVo : systemReportDao.queryPurGoodsTraceList(queryObject)) {

            if (distr.equals(distr3)) {
                if (purGoodsTraceVo.getSendHosQty().equals(purGoodsTraceVo.getHosPurQty())) {
                    purGoodsTraceVos.add(purGoodsTraceVo);
                }
            }
            if (distr.equals(distr2)) {
                if ((purGoodsTraceVo.getSendHosQty().compareTo(BigDecimal.ZERO) == 0) ||purGoodsTraceVo.getStatus().equals("30")){
                    purGoodsTraceVos.add(purGoodsTraceVo);
                }
            }
            if (distr.equals(distr1)) {
                if (!purGoodsTraceVo.getSendHosQty().equals(purGoodsTraceVo.getHosPurQty())
                        && (purGoodsTraceVo.getSendHosQty().compareTo(BigDecimal.ZERO) != 0)) {
                    purGoodsTraceVos.add(purGoodsTraceVo);
                }
            }

所以希望看到的小伙伴,在对BigDecimal类型数据进行判断的时候,千万记得用compareTo!

最后

以上就是朴素大树为你收集整理的BigDecimal类型的数据后端要做判断,要用compareTo!!的全部内容,希望文章能够帮你解决BigDecimal类型的数据后端要做判断,要用compareTo!!所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部