1. 程式人生 > >新增json註解解決返回資料double限定小數點後幾位長度,多餘的捨棄

新增json註解解決返回資料double限定小數點後幾位長度,多餘的捨棄

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;

}