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;
}
相关推荐
洛豳枭薰19 分钟前
jvm运行时数据区& Java 内存模型
java·开发语言·jvm
这儿有个昵称25 分钟前
互联网大厂Java面试场景:从Spring Boot到微服务架构
java·spring boot·消息队列·微服务架构·大厂面试·数据库优化
填满你的记忆1 小时前
【从零开始——Redis 进化日志|Day5】分布式锁演进史:从 SETNX 到 Redisson 的完美蜕变
java·数据库·redis·分布式·缓存
lendsomething1 小时前
Spring 多数据源事务管理,JPA为例
java·数据库·spring·事务·jpa
nsjqj1 小时前
JavaEE初阶:多线程初阶(2)
java·开发语言
黎雁·泠崖1 小时前
Java面向对象:对象数组核心+综合实战
java·开发语言
Mr.LJie1 小时前
记录使用iText7合并PDF文件、PDF发票、PDF火车票
java·pdf
野生技术架构师1 小时前
2026最新最全Java 面试题大全(整理版)2000+ 面试题附答案详解
java·开发语言
小北方城市网2 小时前
SpringBoot 集成 MinIO 实战(对象存储):实现高效文件管理
java·spring boot·redis·分布式·后端·python·缓存
Solar20252 小时前
工程材料企业数据采集系统十大解决方案深度解析:从技术挑战到架构实践
java·大数据·运维·服务器·架构