用户输入为:44.4
当存储到数据库中时,它转换为:44.40000153
数据库数据类型是:float,长度是:20,8
这里我想精确存储 44.4
我不想更改数据库设计。
最佳答案
那时候不要使用float
。在数据库中使用 number(10,5)
(或您需要的任何数字),在 Java 中使用 BigDecimal
。
BigDecimal
为您提供无限数量的数字,但在数据库中可以存储的数字是有限的。通常是 38 位数字(即通常足够)。
关于java - 如何在 java 和 hibernate 中存储精确的精度值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45278861/