Mic*_*ael 13 java floating-point bigdecimal
我正在处理钱,所以我需要我的结果准确但我只需要2位小数(美分)的精度.BigDecimal是否需要保证乘法/除法的结果是准确的?
Pat*_*han 17
BigDecimal是十进制小数运算的一种非常合适的类型,小数点后面有一个已知的位数.您可以使用整数类型并自己跟踪乘数,但这涉及到可以自动执行的代码工作.
除了管理小数点后的数字,BigDecimal还将根据需要扩展存储数字的数量 - 许多商业和政府财务计算涉及的金额太大而无法存储在int中.
我会考虑避免它,只要你需要存储大量的金钱,并且缺乏记忆.
一个常见的选择是使用整数或长整数(美分值)进行所有计算,然后在需要显示时简单地添加两个小数位.
同样,有一个JODA Money库可以为您提供功能更全面的API计算.