你这是什么版本的fastjson?
2.0.4,更新版本有用吗?若有用的话,可以换啊。
@蜗牛旅行1899:
这是 fastjson2-2.0.53
@蜗牛旅行1899:
这是fastjson-1.2.83.jar都没你说这个情况
没懂,你是不是看错了,12.0700 json序列化,反序列化后是 12.07,大小没错啊
我看错了,emm
将 12.0700 序列化后的字符串打印下看看,正不正常
@echo_lovely: 不正常,变成12.700了,不明白啥原因。
@蜗牛旅行1899: 换个版本的fastjson呢?或者num.setScale(4, RoundingMode.HALF_UP),然后再toJsonString()试试
@echo_lovely: setScale是配置位数长度,属于从末尾对齐,这个有效数字中间的0都丢到姥姥家了
@thirteenthree:
// 使用 SerializerFeature.WriteDecimalAsPlain 保持尾随零
String jsonString = JSON.toJSONString(value, SerializerFeature.WriteDecimalAsPlain);
我问gpt了
@echo_lovely: 这个应该试过了,没啥用吧,使用的是Feature.useBigDecimal。估计都差不多。
@echo_lovely: 这个试了可以的。
@echo_lovely:
今天又有一个方法是JSONArray的toJavaList方法,在处理BigDecimal数据时,转换得到的也是把小数点移前了一位。说明不止有一个toJSONString方法。
在toJavaList方法中,没有Feature参数了。
@echo_lovely: FastJson为啥需要多这个参数,有什么意义;