【问题标题】:wrong calculation value in JTextFieldJTextField 中的计算值错误
【发布时间】:2016-05-13 12:36:03
【问题描述】:

我想使用 Java 上的 keyPressed 事件计算支付特定价格时返回的值。这段代码:

    private void txtbyrKeyPressed(java.awt.event.KeyEvent evt) {                                  
    int harga = Integer.parseInt(txthrg.getText());
    int byr = Integer.parseInt(txtbyr.getText());
    int kembali = harga-byr;

    txtkmbli.setText(String.valueOf(kembali));

}                                 

我有错误的计算输出和错误:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""

【问题讨论】:

  • 您尝试将空字符串转换为 int => 抛出 NumberFormatException。错误消息说明了一切。

标签: java jtextfield parseint


【解决方案1】:

您的 getText() 方法返回空字符串。

考虑在解析之前检查您的字符串是否为数字。 How to check if a String is numeric in Java

试试这个:

private void txtbyrKeyPressed(java.awt.event.KeyEvent evt) {

String hargaString = txthrg.getText();
String byrString = txtbyr.getText();

if( NumberUtils.isNumber( hargaString ) && NumberUtils.isNumber( byrString ) ) {
    int harga = Integer.parseInt(hargaString);
    int byr = Integer.parseInt(byrString);
    int kembali = harga-byr;

    txtkmbli.setText(String.valueOf(kembali));
} }

【讨论】:

    猜你喜欢
    • 2020-11-12
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 2020-07-24
    • 1970-01-01
    相关资源
    最近更新 更多