问题发生的场景:
json传递过来一个BigDecimal类型数据【545169.8113】,通过JSONObject.fromObject
来将其转换为一个对象,在转换之后的对象数据中存储的数据已经丢失了变为【545169.8】丢失了部分精度。
使用的JAR包:net.sf.json
问题跟踪
追踪问题的根源,解析过程一直在这里面进行调用
最后会nextValue拼接出一个【545169.8113】,这个时候还是正确的。
最后会将这个传入NumberUtils.createNumber方法,解析后就会是一个丢失精度的Float