[英]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.