zoukankan      html  css  js  c++  java
  • 使用@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;

    然后获取值,就会发现对应的值已经保留两位小数了

  • 相关阅读:
    标识符和关键字
    大任务拆成小任务,再到可并行的小任务
    莫等闲
    这样修改有哪些优缺点 wcf service via attribute setting vs config
    头脑发达,四肢简单
    32位还是64位
    session未释放
    split task
    sqlserver deadlock
    IronPython
  • 原文地址:https://www.cnblogs.com/1gaoyu/p/15798088.html
Copyright © 2011-2022 走看看