2012-04-30 4 views
0

현재 앱 자체는 특정 스포츠 경기에서 단서를 기록합니다. 그것은는 UIStepper에 마이너스 '를 다시 0 UILabel을 변경할 수'의 내가 누를 때백분율 UILabel이 '나노 %'로 표시되는 이유

그러나, 등 ... 1, 2, 3의 '를 UILabel를 업데이트되는 UIStepper를 통해 업데이트하여 정보를 캡처 큐의 백분율을 보여주는 UIStepper의 오른쪽에있는 UILabel은 'nan %'의 표시를 첨부 된 그림을 참조하십시오.

enter image description here

가 왜이 합니까? 비율 라벨

self.smashPercentageLabel.text = [NSString stringWithFormat:@"%.2f%%",([self.smashLabel.text floatValue]/self.rallies)*100]; 

감사에 대한

코드입니다.

답변

4

난이면 isnan() 메서드를 사용할 수 있는지 확인하십시오.

그리고 그것은 NaN의 경우 단순히 yourVar = 0;

예 :

double test = NAN; 
if(isnan(test)) 
    NSLog(@"YES, it is a NAN!"); 

편집 : doubleValuefloatValue을 변경하려고하지 않을 경우이, 트릭을 할해야

if(isnan([self.smashLabel.text floatValue])) 
     self.smashPercentageLabel.text = [NSString stringWithString:@"0%"]; 
else 
     self.smashPercentageLabel.text = [NSString stringWithFormat:@"%.2f%%",([self.smashLabel.text floatValue]/self.rallies)*100]; 

+0

죄송합니다. 어떻게 구현할 수 있습니까? 나는 확신 할 수 없다. 감사. –

+0

코드가 어떻게 생겼는지는 모르지만 간단한 예를 들면 : double test = NAN; if (isnan (test)) NSLog (@ "예, NAN입니다!"); 따라서 값 (UILabel에서 가져온 너의 값)을 if (isnan (value_from_ui_label))로 전달한 다음 그 값에 대한 작업을 처리 할 수 ​​있습니다. 방금 내 대답을 편집했습니다. 위로 코드가 깨끗해 보입니다. – Kuba

+0

안녕 SimpleMan, 백분율 레이블 중 하나를 업데이트하는 코드를 게시했습니다. 어떻게 나노를 '0'으로 바꿀 수 있습니까? 감사. –

1

[NSString stringWithFormat:@" %i%%",averageValue] ;

값으로 백분율을 표시하려면 다음과 같이하십시오.