为什么百分比UILabel显示'nan%'

时间:2012-04-30 09:46:34

标签: ios xcode uilabel nan uistepper

目前,该应用程序本身会在特定的体育比赛中记录提示。它通过更新UIStepper来捕获信息,UILabel会将UIStepper更新为1,2,3 ...等等。

但是,当我按UILabel上的'减号'将UILabel更改回零时,显示UIStepper右侧的self.smashPercentageLabel.text = [NSString stringWithFormat:@"%.2f%%",([self.smashLabel.text floatValue]/self.rallies)*100]; 提示的百分比显示'nan%'请参见附图。

enter image description here

为什么会这样做?

百分比标签代码

{{1}}

感谢。

2 个答案:

答案 0 :(得分:4)

检查你是否可以使用 isnan()方法。

然后,如果它是一个nan,那么只需yourVar = 0;

示例:

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

编辑:

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];

如果不尝试将floatValue更改为doubleValue

,这应该可以解决问题

答案 1 :(得分:1)

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

显示有价值的百分比:)