gpt4 book ai didi

java - 返回 UI 时,数字类型列的最大值会增加

转载 作者:行者123 更新时间:2023-12-01 17:04:24 25 4
gpt4 key购买 nike

我有一个以 dB 为单位的数字类型列,精度为 18,小数位数为 0。当我存储最大值 (999999999999999999) 时,它工作正常。但是,当我尝试获取该值时,测试用例显示正确的值,但是当输出发送到 UI 时,它会增加 1。因此该值变为 10000000000000000000。

最佳答案

来自double-precision floating-point format在维基百科上:

The 53-bit significand precision gives from 15 to 17 significant decimal digits precision.

您的数字有 18 位精度,因此它超出了 double 支持的精度,并四舍五入为 1.0E18,如运行以下代码所示:

double d = 999999999999999999L;
System.out.println(d);

确保该值没有分配给代码中任何地方的double

您提到在测试代码中看到了正确的值,但 UI 显示错误,因此请注意 JavaScript 数字是 double 浮点值,因此如果您将该值作为 JSON 发送到 UI ,您需要将其作为字符串发送,而不是数字。

关于java - 返回 UI 时,数字类型列的最大值会增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61473262/

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