是否可以在每次点击按钮时减去BigDecimal?
public class Test extends JFrame {
BigDecimal amountPending;
BigDecimal myMoney = new BigDecimal("0.10");
JButton decrement;
public Test() {
amountPending = new BigDecimal("5.5");
setTitle("Test");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
decrement = new JButton("Decrement");
decrement.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
BigDecimal x = amountPending.subtract(myMoney);
System.out.println(x.doubleValue());
}
});
add(decrement);
setSize(100, 50);
setResizable(false);
setVisible(true);
}
public static void main(String[] args) {
new Test();
}
}
我正在尝试减少待处理的金额,但是当我使用double(非BigDecimal)时,结果将始终为1.0000000001
答案 0 :(得分:2)
问题是你每次都在创建一个新变量x
。
您应该更新变量amountPending
,即:
amountPending = amountPending.subtract(myMoney);
System.out.println(amountPending.doubleValue());