簡體   English   中英

無法將jTextfield字符串轉換為浮點值…給數字格式異常

[英]Couldn't Convert jTextfield string into float value… Giving number format exception

我在將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());

您可以像這樣添加對文本值的檢查:

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

在轉換為float之前,請檢查您的字符串不為空且不為null。 由於字符串為空,您正在獲得例外。

采用

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

首先,您應該檢查您的字符串以找出是否完全是浮點數? 嘗試這個:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM