JSONObject获取Float类型数据会造成精度获取不准确解

2019-09-26  本文已影响0人  牛哞哞杂记

问题:JSONObject获取Float类型数据会造成精度获取不准确

解决办法:将Float类型数据数据先转换成String类型,再put进JSONObject里就可以解决这个问题。

代码:

public class Test {

public static void main(String[] args) {

Float num = 1.2589355f;

JSONObject jsonObject = new JSONObject();

jsonObject.put("num", num);

System.out.println("jsonObject:"+jsonObject.get("num"));//获取的数据    jsonObject:1.2589354515075684

//将num转成String类型,再put进去,就可以获取到设置的num值

jsonObject.put("num1", num.toString());

System.out.println("jsonObject:"+jsonObject.get("num1"));//获取数据  jsonObject:1.2589355

     }

}

在页面获取Float类型数据时,突然发现数据有点奇怪,与数据库的值对不上。就分别打印put前与put后的数据,发现数据对不上,原来问题在这。百度一波后,找到解决办法,先转成String类型,再put进去就可解决这个问题。

上一篇 下一篇

猜你喜欢

热点阅读