使用Json.toJson时浮点的increct值
我不知道这是不是在玩虫子!或者如果有其他原因,但这就是正在发生的事情 我有一个对象(使用Json.toJson时浮点的increct值,json,playframework,playframework-2.4,Json,Playframework,Playframework 2.4,我不知道这是不是在玩虫子!或者如果有其他原因,但这就是正在发生的事情 我有一个对象(MyObject),它有一个Float类型的成员变量 public class MyObject { private Float data; } 使用Json.toJson()(来自play.libs.Json)发送包含MyObject项的响应时,值会被置乱 例如: MyObject myObj = new MyObj(); myObj.setData(3.2f); JSON字符串: { "d
MyObject
),它有一个Float类型的成员变量
public class MyObject {
private Float data;
}
使用Json.toJson()
(来自play.libs.Json
)发送包含MyObject
项的响应时,值会被置乱
例如:
MyObject myObj = new MyObj();
myObj.setData(3.2f);
JSON字符串:
{
"data": 3.200000047683716
}
如果我将数据类型更改为Double
,则一切正常
我怀疑这可能是因为浮点精度与双精度以及
JSON.toJson()
如何处理float
对象,然而,在调试中,myObj.data
是3.2
是的,问题是3.2不能准确地用浮点表示。实际上,它也不能由双精度实现,但错误很小,因此会被丢弃
方便的参考资料: