【发布时间】:2011-10-22 17:37:24
【问题描述】:
我遇到了 UITextField 中的错误消息的重大问题。我有一个 IBAction buttontap id sender 设置,当我点击 UITextField 并点击 buttontap 时,它会将值 +1 添加到所选的 UITextField。我的问题是我的 UITextField,当我点击其他 UITextFields 时,我设置了两个 UITextfields 之间的百分比给我一个“NAN”错误消息。我以为我已经解决了这个问题,直到我添加了更多代码。这是我当前的代码:
- (IBAction)buttonTap:(id)sender {
int value = [currentText.text intValue] + 1;
currentText.text = [NSString stringWithFormat:@"%d",value];
int n7 = [tex.text intValue];
int n8 = [tex2.text intValue];
int n9 = [tex3.text intValue];
int n10 = [tex4.text intValue];
int n11 = [tex5.text intValue];
int n12 = [tex6.text intValue];
int r = n7 + n8 + n9 + n10 + n11 + n12;
NSString *rn = [NSString stringWithFormat:@"%d",r];
[tex13 setText:rn];
int n1 = [tex7.text intValue];
int n2 = [tex8.text intValue];
int n3 = [tex9.text intValue];
int n4 = [tex10.text intValue];
int n5 = [tex11.text intValue];
int n6 = [tex12.text intValue];
int s = n1 + n2 + n3 + n4 + n5 + n6;
NSString *sn = [NSString stringWithFormat:@"%d",s];
[tex14 setText:sn];
float firstFloat = [self.tex15.text floatValue];
float secondFloat = [self.tex16.text floatValue];
float answer = secondFloat / firstFloat * 100;
self.tex20.text = [NSString stringWithFormat:@"%.1f%%",answer];
}
【问题讨论】:
-
firstFloat 的计算结果是否为 0?如果是这样,您将收到“除以零”错误。
-
问题不在于您向我们展示的代码。我们不知道
tex、tex2、...tex16的值是什么。如果它们未初始化或tex15为 0,那就可以解释了。 -
那我该如何解决呢?我需要使用 if 语句吗?
标签: iphone ios4 iphone-sdk-3.0 cocos2d-iphone