无法将jTextfield字符串转换为浮点值.....给出数字格式异常

时间:2014-02-27 11:41:11

标签: java swing exception-handling jtextfield numberformatexception

我在将jTextfield解析为float值时遇到问题,因此我可以执行操作但是它给出数字格式异常

这是错误

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: empty String
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1011)
    at java.lang.Float.parseFloat(Float.java:452) 

这就是我正在做的事情

float T1 = Float.parseFloat(txt_T1_f.getText());

3 个答案:

答案 0 :(得分:1)

您可以添加对 text 值的检查,如下所示:

String text = txt_T1_f.getText();
if (text != null && !text.isEmpty()) {
    float T1 = Float.parseFloat(text);
}

答案 1 :(得分:0)

在转换为float之前,请检查字符串是否为空且不为null。由于你的字符串是空的,你得到的除外。

使用

  if(txt_T1_f.getText()!=null && !txt_T1_f.getText().isEmpty())
  float T1 = Float.parseFloat(txt_T1_f.getText());

答案 2 :(得分:0)

首先你应该检查一下你的字符串,看看它是不是一个浮点数? 试试这个:

    String regex="^([+-]?\\d*\\.?\\d*)$";
    String input = txt_T1_f.getText();
    float T1 ;
    if(Pattern.matches(regex, input)){
        T1 = Float.valueOf(input);
    }