如何从两个 Jtextfield 计算数字?
How to calculate number from two Jtextfield?
我正在设计一个食品订购系统,我需要输入客户支付的现金,然后减去他们需要支付的总价来计算零钱。我的 JTextField
无法显示更改的正确答案,它只显示 0.0。我不确定我的代码有什么问题。希望大家能帮助我。感谢您的帮助,谢谢!
public Cash() {
init();
btnPay.addActionListener(this);
setVisible(true);
}
public String returnChange1() {
double change = 0.00 ;
double custPay;
String total = lblDisplayTotal.getText();
double a=Double.parseDouble(total);
if (!(txtCustPay.getText().isEmpty())){
custPay = Double.parseDouble(txtCustPay.getText());
change = custPay - a;
}
return String.valueOf(change);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(btnPay)) {
returnChange1();
}
}
public void init() {
txtChange = new JTextField(returnChange1());
txtChange.setSize(150, 30);
txtChange.setLocation(150, 250);
add(txtChange);
}
您没有将函数分配给文本字段。在按钮动作中,不要简单地调用函数,在这种情况下你应该做的是将函数分配给文本字段:txtChange.setText(returnChange1())
,同时尝试在将文本转换为双精度的地方尝试并捕获:
try{
double a = Double.parseDouble(total);
}catch(NumberFormatException e){
e.printStackTrace;
}
当用户错误地输入了一个不是数字的字符时,上面的代码很有用。
public Cash() {
init();
btnPay.addActionListener(this);
setVisible(true);
}
public String returnChange1() {
double change = 0.00;
double custPay;
String total = lblDisplayTotal.getText();
double a = Double.parseDouble(total);
if (!(txtCustPay.getText().isEmpty())) {
custPay = Double.parseDouble(txtCustPay.getText());
change = custPay - a;
}
return String.valueOf(change);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(btnPay)) {
txtChange.setText(returnChange1());
}
}
public void init() {
txtChange = new JTextField(returnChange1());
txtChange.setSize(150, 30);
txtChange.setLocation(150, 250);
add(txtChange);
}
我正在设计一个食品订购系统,我需要输入客户支付的现金,然后减去他们需要支付的总价来计算零钱。我的 JTextField
无法显示更改的正确答案,它只显示 0.0。我不确定我的代码有什么问题。希望大家能帮助我。感谢您的帮助,谢谢!
public Cash() {
init();
btnPay.addActionListener(this);
setVisible(true);
}
public String returnChange1() {
double change = 0.00 ;
double custPay;
String total = lblDisplayTotal.getText();
double a=Double.parseDouble(total);
if (!(txtCustPay.getText().isEmpty())){
custPay = Double.parseDouble(txtCustPay.getText());
change = custPay - a;
}
return String.valueOf(change);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(btnPay)) {
returnChange1();
}
}
public void init() {
txtChange = new JTextField(returnChange1());
txtChange.setSize(150, 30);
txtChange.setLocation(150, 250);
add(txtChange);
}
您没有将函数分配给文本字段。在按钮动作中,不要简单地调用函数,在这种情况下你应该做的是将函数分配给文本字段:txtChange.setText(returnChange1())
,同时尝试在将文本转换为双精度的地方尝试并捕获:
try{
double a = Double.parseDouble(total);
}catch(NumberFormatException e){
e.printStackTrace;
}
当用户错误地输入了一个不是数字的字符时,上面的代码很有用。
public Cash() {
init();
btnPay.addActionListener(this);
setVisible(true);
}
public String returnChange1() {
double change = 0.00;
double custPay;
String total = lblDisplayTotal.getText();
double a = Double.parseDouble(total);
if (!(txtCustPay.getText().isEmpty())) {
custPay = Double.parseDouble(txtCustPay.getText());
change = custPay - a;
}
return String.valueOf(change);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(btnPay)) {
txtChange.setText(returnChange1());
}
}
public void init() {
txtChange = new JTextField(returnChange1());
txtChange.setSize(150, 30);
txtChange.setLocation(150, 250);
add(txtChange);
}