2011-02-24 4 views
6

float 변수를 0으로 설정하면 내 코드가 작동하지만 변수가 null 인 경우 코드가 작동하도록하고 싶습니다. 내가 어떻게 할 수 있니? 여기에 내가 쓴 코드입니다 : 내가 if(oikonomia==null) 또는 if(oikonomia=null)을 연결 한float 유형의 변수를 null로 만드는 방법

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

         if(oikonomia==0){ 

는 있지만 작동하지 않습니다.

P .: 다른 방법은 처음에 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){ 

그런 식으로도 작동하지 않습니다 : 당신이 널 (NULL) 플로트를 원하는 경우

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

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

답변

14

, 그럼 대신 float

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

Float을 시도하지만 null 없을 것 그런 식으로 귀하의 예에서 ...

EDIT : Aaaah, 문제가 무엇인지 이해하기 시작했습니다. 실제로 vprosvasis7에 포함 된 내용과 숫자로 올바르게 초기화되었는지 여부는 알 수 없습니다. 그러므로 다음을 시도하십시오 :

물론 위의 코드를 단순화하고 더 깨끗한 코드를 작성할 수있는 방법은 많이 있습니다. 그러나 이것은 어떤 예외를 실행하지 않고도 으로 String을 정확하고 안전하게 구문 분석해야하는 방법을 설명해야한다고 생각합니다.

+0

0을 시작할 수 있습니까? –

+0

감사 메이트 !! 그게 내가 찾고있어 !! –

+0

그게 내가 생각한거야 :) –

3

부동 소수점과 부동 소수점은 서로 다릅니다. Java에서의 "float"타입은 null 일 수없는 원시 타입이다.

1
당신은 아마이

플로트 오 이코노미 아 같은 일을해야

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

유효한 숫자로 변환되지 않는 문자열을 구문 분석하려고하면 NumberFormatException이 발생합니다. 따라서 try catch 블록에서이 문장을 감싸고 오류를 적절하게 처리 할 수 ​​있습니다.

희망이 있습니다.

+0

코드로 작성 해주실 수 있겠습니까? NumberFormatException..thanks !!를 받고 있어요! : D –

0

노력이 :

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

이제 값이 불법 (비 플로트) 문자열의 경우 NULL입니다

.

관련 문제