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;

执行正常

相关推荐
前端世界3 小时前
float 还是 double?用储罐体积计算带你看懂 C 语言浮点数的真实世界坑
java·c语言·开发语言
豐儀麟阁贵3 小时前
8.5在方法中抛出异常
java·开发语言·前端·算法
Bro_cat4 小时前
Java基础
java·开发语言·面试
一起养小猫4 小时前
《Java数据结构与算法》第三篇(下)队列全解析:从基础概念到高级应用
java·开发语言·数据结构
vx_vxbs664 小时前
【SSM电动车智能充电服务平台】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·mysql·spring cloud·小程序·php·idea
叹隙中驹石中火梦中身4 小时前
解耦神器Event和EventListener
java
Boop_wu4 小时前
[Java EE] 多线程进阶(JUC)(2)
java·jvm·算法
小坏讲微服务4 小时前
SpringCloud整合Scala实现MybatisPlus实现业务增删改查
java·spring·spring cloud·scala·mybatis plus
N***p3654 小时前
五大消息模型介绍(RabbitMQ 详细注释版)
java·rabbitmq·java-rabbitmq
雨中飘荡的记忆5 小时前
深入理解设计模式之单例模式
java·设计模式