gpt4 book ai didi

java - 如何使 JTextField 接受以逗号作为分隔符的 double 值?

转载 作者:行者123 更新时间:2023-12-01 23:29:42 25 4
gpt4 key购买 nike

标题说明了一切。我得到 NumberFormatException 的原因很明显。由于我是北欧人,我想使用逗号而不是点作为小数分隔符向 JTextFields 输入 double 值。

public void actionPerformed(ActionEvent event2) {

NumberFormat nf = NumberFormat.getInstance(Locale.GERMAN);

double firstW = Double.parseDouble(firstWeight.getText());
double secondW = Double.parseDouble(secondWeight.getText());

double outcome = (firstW - secondW);

nf.setMaximumFractionDigits(2);
JLabel result = new JLabel();
result.setText(nf.format(outcome) +" kg" );

add(result);
setVisible(true);

}

最佳答案

如果您有 NumberFormat,那么您已经拥有了所需的一切。只需使用 NumberFormat.parse 而不是 Double.parse。但是,当您使用 JFormattedTextField 时,它会更容易(从类名猜测它的作用。将所需的 NumberFormat 传递给构造函数,即 new JFormattedTextField(nf) JFormattedTextField 有一个 getValue 方法,该方法返回最后一次有效编辑,如果您的 NumberFormat 它将是一个 数字

了解您的图书馆

关于java - 如何使 JTextField 接受以逗号作为分隔符的 double 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19521067/

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