Java JSONArray 对象 ID 精度丢失问题解决方案
在 Java 中,使用 JSONArray 对象将数据返回前端时,可能会遇到对象 ID 等数值型数据精度丢失的问题。为了解决这个问题,可以使用 BigDecimal 类来保证数据的精确性。
在将数据转换为 JSONArray 对象之前,可以使用 BigDecimal 类对数据进行初始化,例如:
double value = 0.1234567890123456789;
BigDecimal bd = new BigDecimal(value);
JSONArray jsonArray = new JSONArray();
jsonArray.put(bd);
然后将 JSONArray 对象返回给前端。在前端,可以使用 JavaScript 的 BigNumber 库来处理 BigDecimal 类型的数据,避免精度丢失。例如:
var value = new BigNumber(jsonArray[0]);
console.log(value.toString()); // '0.1234567890123456789'
通过这种方式,可以确保 Java 和前端之间的数据精度保持一致。
原文地址: https://www.cveoy.top/t/topic/nqid 著作权归作者所有。请勿转载和采集!