让UILabel显示“没有结果”而不是“nan”

时间:2010-04-04 08:54:31

标签: iphone xcode uilabel

我有一个小应用程序,用户可以进行一些计算和求解方程式。例如,如果在正方程中,判别式小于零,则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
}

无济于事。

提前致谢!

2 个答案:

答案 0 :(得分:2)

以下代码块中有两个错误:

if(label==@"nan") {
 //code
}
  1. 您指的是label而不是[label text](如果您更喜欢点符号,则为label.text。)
  2. 在Cocoa / Cocoa-Touch中,您需要使用NSStringisEqualToString方法进行字符串比较。
  3. 相反,请尝试:

    if ([[label text] isEqualToString:@"nan"]) {
     // Code
    }
    

答案 1 :(得分:1)

您也可以尝试使用isnan宏:

[label setText:(isnan(x) ? @"No solutions" : [NSString stringWithFormat:@"%f", x])];