JSONObject obj = new JSONObject();

float a = 15.123f;  //这里加f是表示这是浮点型,15.123默认是double的

float b=15;

obj.put("floata", a);

obj.put("floatb",b);

obj.put("Stringa", a+"");          //加上“”自动转string类型,也可以使用String.valueOf(aa)转为String类型

System.out.println(obj.get("floata"));

System.out.println(obj.get("floatb"));

System.out.println(obj.get("Stringa"));


以上三种情况中,获取到的obj中floata会变成:15.123000144958496,这是json引起的精度丢失问题。

而floatb中会得到15.0;

Stringa则显示正确的15.123。


Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐