BigDecimal遇到坑-equal与compareTo
发布时间
阅读量:
阅读量
文章结构概述
-
-
- 引言
-
- 等于
-
- 比较
-
- 引言
-
前言
在运营过程中存在一个具体需求,即当首付比例设定为10%时,不应设置融资上限。基于此,我编写了如下代码:
if (vo.getRatio().equals(new BigDecimal("0.1")) ){
return null;
}else {
xxx
}
随后测试人员找到我,指出“不对啊,当首付比例为10%时,依然存在加融上限的问题!”
我心里也觉得“不对啊,我明明添加了限制条件!”
后来查阅相关报文后发现,前端同事传递过来的参数是“Ratio”: 0.10
经过测试发现,“Ratio”: 0.1 可以实现限制功能,而“Ratio”: 0.10 却无法触发限制
如果代码逻辑是:
if (vo.getRatio().equals(new BigDecimal("0.10")) )
那么,“Ratio”: 0.1 将无法被限制,而“Ratio”: 0.10 却可以被限制
难道 new BigDecimal("0.1") 和 new BigDecimal("0.10")
全部评论 (0)
还没有任何评论哟~
