我有这个代码来获得一个百分比:
final BigDecimal price = BigDecimal.valueOf(215).setScale(2, BigDecimal.ROUND_HALF_EVEN);
final BigDecimal daysOfThisReservation = BigDecimal.valueOf(3).setScale(2, BigDecimal.ROUND_HALF_EVEN);
final BigDecimal dayPrice = price.divide(daysOfThisReservation, BigDecimal.ROUND_HALF_EVEN).setScale(2, BigDecimal.ROUND_HALF_EVEN);
System.out.println(dayPrice); //71.67
System.out.println(dayPrice.multiply(daysOfThisReservation).setScale(2, BigDecimal.ROUND_HALF_EVEN)); //215.01
我有一个 215.00 美元的预订,这个预订每天有 3 个,所以价格是 71.67 美元。
如果我尝试再次获取原始值,我会遇到一些舍入问题,71.67 * 3 = 215.01
如何处理此类问题?
慕桂英546537
慕婉清6462132
12345678_0001
相关分类