Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
oracle数字类型的java映射_Java_Database_Oracle_Bigdecimal - Fatal编程技术网

oracle数字类型的java映射

oracle数字类型的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

我有oracle编号类型的数据库。当使用数值列更新表时,使用java
Double
可能会有任何问题。我应该切换
BigDecimal
还是
Double
是合适的类型

据我所知,
BigDecimal
在需要任意精度时使用,例如在处理价格时


考虑一下简单的API
updatePrice(Double d)
我应该保持Double-as-is还是
BigDecimal.valueOf(d)
更可取?

如果需要精度,请对任意小数点使用BigDecimal

但是@Aprillion的评论是正确的:如果执行包含double的Java计算,那么即使持久性数据类型是BigDecimal格式,也会失去精度

因此,如果您想确保从/到该字段的十进制精度正确,请使用BigDecimal


我希望这有帮助

把不精确的双精度数字转换成精确但错误的大小数是没有意义的。。。