java中BigDecimal转json精确小数点的问题

项目使用了 spring boot 作为基础机构,默认 json 使用了 jackson,处理如下

创建一个类用户处理 BigDecimal 小数点精确的问题

java 复制代码
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;

import java.io.IOException;
import java.math.BigDecimal;

public class BigDecimalSerialize extends JsonSerializer {

    @Override
    public void serialize(Object o, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
        if (o != null && o instanceof BigDecimal) {
            BigDecimal bigDecomal = (BigDecimal) o;
            jsonGenerator.writeString(bigDecomal.setScale(2, BigDecimal.ROUND_DOWN) + "");
        }
    }
}

然后在代码中添加如下代码

java 复制代码
@JsonSerialize(using = BigDecimalSerialize.class)
private BigDecimal cmpayNakedPrice;

执行正常

相关推荐
天若有情6731 分钟前
打破思维定式!C++参数设计新范式:让结构体替代传统参数列表
java·开发语言·c++
亲爱的非洲野猪7 分钟前
从ReentrantLock到AQS:深入解析Java并发锁的实现哲学
java·开发语言
wheelmouse77889 分钟前
如何设置VSCode打开文件Tab页签换行
java·python
yangminlei11 分钟前
Spring Boot——日志介绍和配置
java·spring boot
廋到被风吹走18 分钟前
【Spring】Spring Boot Starter设计:公司级监控SDK实战指南
java·spring boot·spring
码头整点薯条22 分钟前
启动报错:Invalid value type for attribute ‘factoryBeanObjectType‘ 解决方案
java
沛沛老爹23 分钟前
Web开发者进阶AI:Agent Skills-深度迭代处理架构——从递归函数到智能决策引擎
java·开发语言·人工智能·科技·架构·企业开发·发展趋势
工具罗某人25 分钟前
docker快速部署kafka
java·nginx·docker
秋饼28 分钟前
【手撕 @EnableAsync:揭秘 SpringBoot @Enable 注解的魔法开关】
java·spring boot·后端
Good_Starry31 分钟前
Java——正则表达式
java·开发语言·正则表达式