在业务逻辑中判断两个金额大小时大小判断错误,经排查发现为对比的两个数据为两张表的两个金额字段,a字段长度11保留2位小数,b字段长度20保留4位小数,导致尽管a>b,但是compare 方法判断为a不大于b,导致逻辑失效,后来统一了表金额字段长度后恢复正常。
以后设计数据库表结构时要注意字段长度统一性了!
Bigdecimal类型金额字段比较大小异常问题记录
在业务逻辑中,由于两张表的金额字段长度不同(一个11位保留2位小数,另一个20位保留4位小数),导致数值比较时出现错误,即使a大于b,compare方法也会误判。问题解决方法是统一表金额字段长度,确保数据一致性,从而恢复正常逻辑。因此,设计数据库表结构时需注意字段长度的一致性。
537





