簡體   English   中英

如何使float類型的變量為空

[英]how to null a variable of type float

如果我的float變量設置為0,我的代碼工作,但如果我的變量為null,我希望我的代碼工作。 我怎么能這樣做? 這是我寫的代碼片段:

float oikonomia= (float)((float)new Float(vprosvasis7.getText().toString()));

                         if(oikonomia==0){

我綁了if(oikonomia==null)if(oikonomia=null)但它不起作用。

PS:另一種方式是初始設置oikonomia=0; 並且,如果用戶更改它,請轉到我的if會話。 這也不起作用。

Float oikonomia = Float.valueOf(vprosvasis7.getText()。toString());

                     if(oikonomia.toString() == " "){



float oikonomia= (float)((float)new Float(vprosvasis7.getText().toString()));
                  oikonomia=0;
                         if(oikonomia==0){

這種方式也不起作用:

Float oikonomia = Float.valueOf(vprosvasis7.getText().toString());

                         if(oikonomia.toString() == " "){

如果你想要一個可以為空的浮點數,那么試試Float而不是float

Float oikonomia= new Float(vprosvasis7.getText().toString());

但它永遠不會像你的例子那樣是null ......

編輯 :Aaaah,我開始明白你的問題了。 你真的不知道vprosvasis7包含什么,以及它是否正確初始化為數字。 所以試試這個,然后:

Float oikonomia = null;

try {
  oikonomia = new Float(vprosvasis7.getText().toString());
} 
catch (Exception ignore) {
  // We're ignoring potential exceptions for the example.
  // Cleaner solutions would treat NumberFormatException
  // and NullPointerExceptions here
}

// This happens when we had an exception before
if (oikonomia == null) {
  // [...]
}

// This happens when the above float was correctly parsed
else {
  // [...]
}

當然,有很多方法可以簡化上述內容並編寫更清晰的代碼。 但我認為這應該解釋如何正確安全地將String解析為float而不會遇到任何異常......

浮子和浮子不是一回事。 Java中的“float”類型是一種不能為null的基本類型。

你可能應該做這樣的事情

Float oikonomia = Float.valueOf(vprosvasis7.getText()。toString());

如果您嘗試解析未轉換為有效數字的字符串,您將獲得NumberFormatException。 所以你可以簡單地將這個語句包裝在try catch塊中並正確處理錯誤。

希望有所幫助。

試試這個:

Float oikonomia = null;
try{
  oikonomia = Float.valueOf(vprosvasis7.getText().toString());
}catch(numberFormatException e){
  // logging goes here
}

現在,在非法(非浮動)字符串的情況下,該值為NULL。

暫無
暫無

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

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