小数点的问题"/>
java中BigDecimal转json精确小数点的问题
项目使用了 spring boot 作为基础机构,默认 json 使用了 jackson,处理如下
创建一个类用户处理 BigDecimal 小数点精确的问题
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 {@Overridepublic 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) + "");}}
}
然后在代码中添加如下代码
@JsonSerialize(using = BigDecimalSerialize.class)
private BigDecimal cmpayNakedPrice;
执行正常
更多推荐
java中BigDecimal转json精确小数点的问题
发布评论