gpt4 book ai didi

java - 无法保存所有小数位

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

我在 mariadb 中有以下列定义:

双倍乘数

在我的实体类中,我有以下列:

@Column(名称=“乘数”,精度=15)
私有(private)双项乘数;

我已经指定了精度,但表中保存的数据仍然限制为最多 5 位小数。我记录了 itemMultiplier 的值,它是 0.458327459574。但在表中,保存的值只是 0.45833。

我还尝试在multiplier列中使用double(22,15)decimal(22,15),它也没有'不工作。

如何保存所有小数位?我还尝试使用 BigDecimal 作为 itemMultiplier,但没有成功。

最佳答案

double(22,15) 是令人厌恶的。您会在底部得到不必要的舍入,并在顶部得到不必要的截断。如果您要使用DOUBLE,请仅使用普通的“DOUBLE”,这将为您提供大约 16 位有效数字。

“输出中只有 5 位小数”?也许是格式四舍五入到小数点后 5 位,而不是数据。

你说

I already specified the precision...

您通过什么方式指定精度?

请提供涉及的SQL语句。特别是SHOW CREATE TABLE。我们需要弄清楚到底是 Java 把事情搞砸了,还是 MariaDB 把事情搞砸了。

要尝试的另一件事是不仅显示 multiplier,而是显示 100*multiplier - 报告您是否得到 45.83275 >45.83300

关于java - 无法保存所有小数位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59316155/

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