1. 程式人生 > >Jackson轉換實體 double 保留兩位小數

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 0 - principalReturn; } return null; } return amt - principalReturn; }