gpt4 book ai didi

javascript - 如何避免在客户端舍入长值?

转载 作者:搜寻专家 更新时间:2023-10-31 20:27:11 25 4
gpt4 key购买 nike

使用 Play 框架。

Controller

@BodyParser.Of(BodyParser.Json.class)
public static Result getResponseJson(Long id){
List<DataField> entities = new Model.Finder<>(Long.class, DataField.class)
.where("response_id = " + id).findList();
Response response = new Response(entities, id);
return ok(toJson(response));
}

Response 实体是:

public class Response {
private Long uuid;
private Map<TableField, String> map = new HashMap<>();
...constructors, getters and setters...
}

我用 POSTMAN 检查响应。在“原始”选项卡上,我得到了:

{"uuid":3942015886343226874,"map":{"Work":"Contract","locale":"Mogilev"}}

在“漂亮”选项卡上:

{
"uuid": 3942015886343227000,
"map": {
"Work": "Contract",
"locale": "Mogilev"
}
}

为什么uuid会四舍五入?

最佳答案

这与 Playframework 无关,这是一个浏览器问题。在您的浏览器中打开开发人员控制台并尝试这个 -

var c = 3942015886343226874;
console.log(c);

这将打印 - 3942015886343227000

因为 JavaScript 中的数量限制。

如果是 UUID,最好使用 String。

关于javascript - 如何避免在客户端舍入长值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31462595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com