添加json注解解决返回数据double限定小数点后几位长度,多余的舍弃

版权声明:本文为博主原创文章,未经博主允许不得转载。Copyright © 1990 - infinitus Sigod https://blog.csdn.net/u012075238/article/details/84249973

1.编写注解使用的类 

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;

import java.io.IOException;
import java.math.RoundingMode;
import java.text.DecimalFormat;

public class DoubleSerialize extends JsonSerializer<Double> {

    private DecimalFormat df = new DecimalFormat("0.00");

    @Override
    public void serialize(Double value, JsonGenerator gen, SerializerProvider serializers)
            throws IOException, JsonProcessingException {
        if(value != null) {
            df.setMaximumFractionDigits(2);//显示几位修改几
            df.setGroupingSize(0);
            df.setRoundingMode(RoundingMode.FLOOR);
            gen.writeString(df.format(value));  
        }
    }
}

 2.在需要被注解修改的数据上调用

@Data
public class ValuationAmountVo {
    @JsonSerialize(using = DoubleSerialize.class)
    private double valuation;
    @JsonSerialize(using = DoubleSerialize.class)
    private double amount;

}

猜你喜欢

转载自blog.csdn.net/u012075238/article/details/84249973