2017-02-19 75 views
1

是否可以在每次点击按钮时减去BigDecimal?是否有可能在每次点击按钮时减去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(); 


    } 
} 

我试图减少量待定,但后来当我使用双(非BigDecimal)的结果总是会像1.0000000001

回答

2

的问题是要创建每次新的变量x

你应该更新变量amountPending即:

amountPending = amountPending.subtract(myMoney); 
System.out.println(amountPending.doubleValue()); 
+0

哇哦它的这个简单,我怎么就没有意识到这一点:') 非常感谢 – densityx

+0

元回答:在一定的水平, Java非常简单。你只需要理解这种简单性。一旦你理解了简单性,对大多数问题的解决方案是“显而易见的”。但是走到真正理解简单性的阶段,“明显的”解决方案真的很明显(不仅事后明了),需要经验和实践。 –

相关问题