假设我在Java中有一个代表金钱的小数值.
绕过这些价值观的最佳方法是什么?
例如,如果我有一个基于税率计算的值,并且我最终得到的结果是,例如,5.3999999999999995作为税额,我应该将其舍入到2位小数,只需这样做:
double d = 5.3999999999999995
BigDecimal bd = new BigDecimal(d).setScale(2, RoundingMode.HALF_EVEN);
d = bd.doubleValue();
Run Code Online (Sandbox Code Playgroud)
产生货币价值:
5.40
Run Code Online (Sandbox Code Playgroud)