oracle数字类型的java映射
我有oracle编号类型的数据库。当使用数值列更新表时,使用javaoracle数字类型的java映射,java,database,oracle,bigdecimal,Java,Database,Oracle,Bigdecimal,我有oracle编号类型的数据库。当使用数值列更新表时,使用javaDouble可能会有任何问题。我应该切换BigDecimal还是Double是合适的类型 据我所知,BigDecimal在需要任意精度时使用,例如在处理价格时 考虑一下简单的APIupdatePrice(Double d)我应该保持Double-as-is还是BigDecimal.valueOf(d)更可取?如果需要精度,请对任意小数点使用BigDecimal 但是@Aprillion的评论是正确的:如果执行包含double的J
Double
可能会有任何问题。我应该切换BigDecimal
还是Double
是合适的类型
据我所知,BigDecimal
在需要任意精度时使用,例如在处理价格时
考虑一下简单的API
updatePrice(Double d)
我应该保持Double-as-is还是BigDecimal.valueOf(d)
更可取?如果需要精度,请对任意小数点使用BigDecimal
但是@Aprillion的评论是正确的:如果执行包含double的Java计算,那么即使持久性数据类型是BigDecimal格式,也会失去精度
因此,如果您想确保从/到该字段的十进制精度正确,请使用BigDecimal
我希望这有帮助 把不精确的双精度数字转换成精确但错误的大小数是没有意义的。。。