我有一个oracle number类型的数据库。在使用java Double更新包含数字列的表时,是否存在任何可能的问题。我应该将BigDecimal或Double切换为合适的类型。
据我所知,当需要任意精度时,例如在处理价格时,就会使用BigDecimal。
考虑一下简单的API updatePrice(Double d),我应该按原样保持双倍,还是BigDecimal.valueOf(d)更可取?
发布于 2012-07-02 21:15:31
如果您想要精度,可以对任意小数点使用BigDecimal。
但是@Aprillion的注释是正确的:如果您进行包含双精度的Java计算,那么您将失去精度,即使持久性数据类型是BigDecimal格式。
因此,只有当您想要确保从该字段到该字段适当小数精度时,才使用BigDecimal。
我希望这能帮到你!
https://stackoverflow.com/questions/11285639
复制相似问题