gpt4 book ai didi

java - 使用 Action 监听器在文本字段中将 double 显示为整数

转载 作者:行者123 更新时间:2023-12-02 06:14:23 24 4
gpt4 key购买 nike

在按钮上显示数字的方法

class JNumberBtnClick implements ActionListener{
public void actionPerformed(ActionEvent arg0) {
JNumberButton sender= (JNumberButton)arg0.getSource();

textField_1.setText(textField_1.getText()+sender.getNumber());
}
}

按钮

JNumberButton btnNewButton = new JNumberButton(1.0);
btnNewButton.addActionListener(btnClickEvent);
btnNewButton.setNumber(1.0);
btnNewButton.setBounds(20, 52, 89, 23);
frame.getContentPane().add(btnNewButton);

JNumberButton 类

import javax.swing.JButton;

public class JNumberButton extends JButton {

double number;

public JNumberButton(double number) {
super(Double.toString(number));
this.number=number;
}

public double getNumber() {
return number;
}

public void setNumber(double number) {
this.number=number;
setText(Integer.toString((int)number));
}
}

这就是我使用按钮时的样子。

Screenshot

问题是我该怎么做才能让它显示 1 而不是 1.0?我希望它保持为 double ,但我希望它显示为整数。

最佳答案

您可以使用 NumberFormat类:

String number = NumberFormat.getInstance().format(1.0);

结果将为1

或者您可以使用DecimalFormat如果您希望能够使用不同的格式:

String number = new DecimalFormat().format(1.0);

如果需要,您可以将模式传递给构造函数。

如果需要,这两种方法还会显示 double 值。如果您只想显示整数,可以使用模式#。这将导致所有 double 四舍五入为整数:

String number = new DecimalFormat("#").format(1.3);

结果将为1

完整的 JNumberButton 如下所示:

import javax.swing.*;
import java.text.DecimalFormat;

public class JNumberButton extends JButton {
private static final DecimalFormat format = new DecimalFormat("#");
private double number;

public JNumberButton(double number) {
super(format.format(number));
this.number = number;
}

public double getNumber() {
return number;
}

public void setNumber(double number) {
setText(format.format(number));
this.number = number;
}
}

正如我上面提到的,您可以调整格式以满足您的需要。

关于java - 使用 Action 监听器在文本字段中将 double 显示为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55880651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com