gpt4 book ai didi

mysql - JPA/MySQL 小数显示方式错误

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

我想将 double 值的总和保留为 Decimal(4,2) 在我的数据库中并将其显示给用户。我遇到的问题是,十进制数以两位十进制数字正确存储在我的数据库中。但在某些情况下,当从数据库查询它时,它会向用户显示更多的十进制数字。在我的实体类中,我有:

@Column(name="weight_sum", precision=6, scale=2)
private double weightSum;

在我的 MySQL 数据库中,我有一列指定为

Decimal (4,2)

我不明白我在哪里犯了错误。

最佳答案

实际上你正在做正确的事情,但你需要做更多的事情。如果您为实体类的weightSum定义了精度和小数位数,那么它将相应地保存到数据库中。但是,当您从数据库获取数据并绑定(bind)到相应的实体类时,它将再次采用默认比例(实际比例后跟零)和精度值。因此,每当您向最终用户发送数据时,您都需要将比例设置为 -

weightSum.setScale(2, BigDecimal.ROUND_FLOOR);

上述方法中第二个参数是roundingMode,您应该根据您的要求选择roundingMode。

希望对你有帮助。谢谢

关于mysql - JPA/MySQL 小数显示方式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38510096/

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