Jackson转换实体 double 保留两位小数

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u013220534/article/details/79697554

根据业务,需要通过后端给前端返回金额值,一般需要保留两位小数,使用jackson转换对象列表

public class CustomDoubleSerialize extends JsonSerializer<Double> {

    private DecimalFormat df = new DecimalFormat("##.00");  

    @Override
    public void serialize(Double value, JsonGenerator gen, SerializerProvider serializers)
            throws IOException, JsonProcessingException {
        if(value != null) {
            gen.writeString(df.format(value));  
        }
    }
}

然后需要给需要转换的属性上面加上注解,如下

/**
     * 应还金额:项目系统:amt - principalReturn
     */
    @JsonSerialize(using = CustomDoubleSerialize.class)
    private Double needReturn;
    public Double getNeedReturn() {
        if(amt == null || principalReturn == null) {
            if(amt != null) {
                return amt;
            }
            if(principalReturn != null) {
                return 0 - principalReturn;
            }
            return null;
        }
        return amt - principalReturn;
    }
展开阅读全文

没有更多推荐了,返回首页