java实体中返回前端的double类型四舍五入(格式化)

  • 根据业务,需要通过后端给前端返回部分double类型的数值,一般需要保留两位小数,使用jackson转换对象
java 复制代码
package com.ruoyi.common.core.config;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import org.apache.commons.lang3.math.NumberUtils;
import java.io.IOException;
import java.math.RoundingMode;
public class CustomDoubleSerialize extends JsonSerializer<Double> {
    @Override
    public void serialize(Double doubleVal, JsonGenerator gen, SerializerProvider serializers) throws IOException{
        if(doubleVal != null) {
     gen.writeNumber(NumberUtils.toScaledBigDecimal(doubleVal, 2, RoundingMode.HALF_UP).doubleValue());
        }
    }
}
java 复制代码
package com.demo.domain.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ruoyi.common.core.config.CustomDoubleSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import java.io.Serializable;
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@ApiModel("类比Vo")
public class OcsAnalogyVo implements Serializable{
    @ApiModelProperty("节点/班组id")
    private Long showId;
    @ApiModelProperty("节点/班组名称")
    private String showName;
    @ApiModelProperty("展示值")
    @JsonSerialize(using = CustomDoubleSerialize.class)
    private Double showVal;
    @ApiModelProperty("展示时间")
    private String showTime;
}
相关推荐
小羊没烦恼!2 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里2 天前
java中的继承和多态的区别
java
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕2 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码2 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖2 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时2 天前
01-06-A-JVM排查实战详解
java·jvm
vipxieliang2 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi2 天前
mysql 查询所有表名并授权
java
ProcessOn官方账号2 天前
java函数式编程--入门基础
java·编程·函数式编程