Java中计算的正确数据类型是什么

Raj*_*aju 7 java math types

我们应该在Java中使用double或BigDecimal进行计算吗?

与双倍相比,BigDecimal的性能开销是多少?

Gre*_*ill 5

对于一般浮点计算,您应该使用double.如果你完全确定你确实需要任意精度算术(大多数应用程序没有),那么你可以考虑BigDecimal.

对于任何精度足够的应用程序,您会发现double它将显着优于BigDecimal(更不用说更容易使用)double.

更新:您评论了另一个答案,您希望将其用于财务相关的应用程序.这是您实际应该考虑使用的区域之一BigDecimal,否则您可能会从double计算中获得意外的舍入效果.此外,double价值精度有限,而且您无法在数百万美元的同时准确跟踪便士.


Pet*_*Mmm 5

对于严肃的金融应用程序 BigDecimal 是必须的。

取决于您需要多少位数字,您可以使用长整数和小数因子进行可视化。