我有一个小应用程序,用户可以进行一些计算和求解方程式。例如,如果在正方程中,判别式小于零,则x1和x2值为“nan”,因此当我将x1和x2值分配给UILabel时,它们也显示“nan”。写了很多if的像
if(D<0) [label setText:[NSString stringWithFormat: @"No solutions"]];
没有帮助 - 案件太多了。我想检查一下
[label setText:[NSString stringWithFormat: @"%f", x]];
标签的值为“nan”,标签的值将设置为@“No solutions”。
做简单的
if(label==@"nan") {
//code
}
无济于事。
提前致谢!
答案 0 :(得分:2)
以下代码块中有两个错误:
if(label==@"nan") {
//code
}
label
而不是[label text]
(如果您更喜欢点符号,则为label.text
。)NSString
的isEqualToString
方法进行字符串比较。相反,请尝试:
if ([[label text] isEqualToString:@"nan"]) {
// Code
}
答案 1 :(得分:1)
您也可以尝试使用isnan宏:
[label setText:(isnan(x) ? @"No solutions" : [NSString stringWithFormat:@"%f", x])];