BigDecimal减去负面结果

时间:2014-07-25 11:06:11

标签: java bigdecimal

我有这段代码:

public BigDecimal getDifference() {
    BigDecimal total = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_DOWN);

    for (Order order : orders) {
        BigDecimal originalCost= order.getOriginalValue();

        BigDecimal nweCost= order.getNewValue();

        BigDecimal diff = newValue.substract(originalValue);

        total.add(diff);
    }

    return total;
}

我正在使用originalCost>进行测试newCost但总计为0.我在第total.add(diff)行显示了调试器的快照:

debugger

有人知道我做错了吗?

感谢。

1 个答案:

答案 0 :(得分:2)

total = total.add(diff);

不可变类型,如String。

某些IDE会发出警告。