Java 是否可以在每次点击按钮时一直减去BigDecimal?
是否可以在每次点击按钮时减去BigDecimalJava 是否可以在每次点击按钮时一直减去BigDecimal?,java,Java,是否可以在每次点击按钮时减去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"); setDefaultC
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.000000000 1问题是每次都要创建一个新变量
x
您应该更新变量amountPending
,即:
amountPending = amountPending.subtract(myMoney);
System.out.println(amountPending.doubleValue());
哦,哇,它是这么简单,为什么我没有意识到这一点:’)感谢alotMeta回答:在某种程度上,Java真的很简单。你只需要理解这种简单性。一旦理解了简单性,大多数问题的解决方案都是“显而易见的”。但是,要想达到真正理解简单性的阶段,并且“显而易见”的解决方案是非常明显的(不仅仅是事后看来很明显),需要。。。经验和实践。