【发布时间】:2020-03-26 00:10:14
【问题描述】:
我正在开发一个网络应用程序。我的 JPA 实体中有一个 Bigdecimal 属性,该属性映射到我的表中的一列。此列的类型为 Numeric(1,8)。
我的问题是当我输入这样的值时:1.4342,这个值会像这样 1.43420000 一样持久化。我想向用户显示的值是 1.4342。
您是否知道如何防止在我的数据库中保留 0,或者在使用 java 从数据库中检索值时如何删除 0?
【问题讨论】:
-
您需要区分数字及其对用户的呈现方式。您告诉您的数据库您需要 8 个小数位,因此每个数字将在您的数据库中以 8 个小数位保存。但是,这与您在显示数字时向用户显示的小数位数无关。
-
根据@OHGODSPIDERS 所说,这是数据库中列的精度,如果您不需要保存到 8 dp 的值,那么您可以运行
ALTER TABLE table_name MODIFY column_name NUMBER(1,4);(例如)。否则,您需要根据之前的一些评论建议在查询数据库并设置为BigDecimal时修改该值。
标签: java