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;
}
相关推荐
JAVA面经实录91719 小时前
Java企业级工程化·终极完整版背诵手册(无遗漏、全覆盖、面试+落地通用)
java·开发语言·面试
许彰午21 小时前
CacheSQL(二):主从复制——OpLog 环形缓冲区与故障自动恢复
java·数据库·缓存
Bat U1 天前
JavaEE|多线程初阶(七)
java·开发语言
掌心向暖RPA自动化1 天前
如何获取网页某个元素在屏幕可见部分的中心坐标影刀RPA懒加载坐标定位技巧
java·javascript·自动化·rpa·影刀rpa
日取其半万世不竭1 天前
Minecraft Java版社区服务器搭建教程(Linux,适合新手)
java·linux·服务器
TeamDev1 天前
JxBrowser 9.0.0 版本发布啦!
java·前端·混合应用·jxbrowser·浏览器控件·跨平台渲染·原声输入
AI人工智能+电脑小能手1 天前
【大白话说Java面试题】【Java基础篇】第24题:Java面向对象有哪些特征
java·开发语言·后端·面试
AI人工智能+电脑小能手1 天前
【大白话说Java面试题】【Java基础篇】第25题:JDK1.8的新特性有哪些
java·开发语言·后端·面试
likerhood1 天前
SLF4J: Failed to load class “StaticLoggerBinder“ 解决
java·log4j·maven
早日退休!!!1 天前
大模型推理瓶颈七层分析模型
java·服务器·数据库