天天看點

Jackson轉換實體 double 保留兩位小數

根據業務,需要通過後端給前端傳回金額值,一般需要保留兩位小數,使用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  - principalReturn;
            }
            return null;
        }
        return amt - principalReturn;
    }
           

繼續閱讀