最近在项目中遇到一个问题,前端传给我的数据用Bigdecimal来接收的,存入数据库decimal,查询结果也是用Bigdecimal接收的(例如:6.00),结果以Json格式传到前端之后就没有小数点了(6.00变成6),网上查了一下,有很多的方法,看着有点复杂,试了一些方法结果还是不行,最后自己倒腾了一下加了一个标签居然成功了,代码如下:
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal amt;
这样就可以了,基本原理就是在把数据给前端的时候,把数据转换成string类型,这样就不会丢失小数点后面的(.00)数据。需要注意的是,前端接收到的是string类型数据,如果涉及到数据计算问题,需要前端进行数据转换!