今天在转换一个关于金额字段发现一个关于json转换的bug 目前尚未深入观察
问题:
如果金钱为bigdecimal json转换后不会丢失精度 但是通过@responsebody 返回到前端后发现精度会丢失 比如 9.00 会变成9
因为代码无法粘贴 这里描述下 bigdecimal在传入number类型无法保留精度 传入string可以保留精度
考虑之后的解决方案 将字段变为string 转换之后即可解决。
截图1: 解决办法 让字段返回string
postman截图
有没有大佬执教下
关于计算丢失精度问题
BigDecimal setScale = decimal.setScale(4,BigDecimal.ROUND_HALF_DOWN);
采用下面这种方法即可。