作者:balamark_466 | 来源:互联网 | 2022-11-23 10:52
我知道BigDecimal是表达货币的最准确方式,因为将货币值视为浮点数据类型往往会导致舍入错误.但是,我也明白BigDecimal计算需要更多内存.那就是说,使用BigDecimal而不是浮点数或双倍真的是处理货币价值的程序的最佳实践?如果我制作一个程序打印餐厅每个订单的逐项收据,如果我使用BigDecimal,或者如果我使用浮点值更可能会出现舍入错误,我是否更有可能耗尽内存?
(注意:"如何处理Java BigDecimal性能?"是一个稍微类似的问题,但我更关心的是相对简单的快餐交易中风险最小的选项.)
1> Ralf Kleberh..:
除非你的程序一次处理数百万个BigDecimals,否则你不会真正注意到内存消耗的差异.
如果您确实运行具有这样的吞吐量的服务,您肯定可以购买额外的千兆字节RAM而不是因为不正确的计算而诉讼;-).