使用@JsonSerialize注解實現數字保持兩位小數


首先需要建立工具類  BigDecimalFormatSerializer 繼承JsonSerializer方法,對serialize方法進行重寫

代碼如下:(我在實體類中用的是Double類型的,所以再次只處理Double類型,如需轉換其他類型可以將value的類型定義為所需的類型)

public class BigDecimalFormatSerializer extends JsonSerializer<Double> {

    private static final DecimalFormat FORMAT = new DecimalFormat("###.##");

    @Override
    public void serialize(Double value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {

        String text = null;
        //是否為空
        if (value != null) {
            try {
                //格式化是否為空
                text = FORMAT.format(value);
            } catch (Exception e) {
                text = value.toString();
            }
        }
        if (text != null) {
            jsonGenerator.writeString(text);
        }
    }
}

第二步:

在返回值的實體類中添加注解

@JsonSerialize(using = BigDecimalFormatSerializer.class)
@ApiModelProperty(value = "金額")
private Double je;

然后獲取值,就會發現對應的值已經保留兩位小數了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM