代码之家  ›  专栏  ›  技术社区  ›  Knodel

使UILabel显示“无结果”而不是“nan”

  •  0
  • Knodel  · 技术社区  · 16 年前

    我有一个小应用程序,用户可以做一些计算和解决方程。例如,如果在一个平方方程中鉴别器小于零,那么x1和x2的值是“nan”,所以当我将x1和x2的值赋给uilabel时,它们也会显示“nan”。写了很多“如果”

    if(D<0) [label setText:[NSString stringWithFormat: @"No solutions"]];
    

    没用的案子太多了。我想检查一下

    [label setText:[NSString stringWithFormat: @"%f", x]];
    

    标签的值为“nan”,标签的值将设置为@“无解决方案”。

    做简单的事

    if(label==@"nan") {
     //code
    }
    

    提前谢谢!

    2 回复  |  直到 16 年前
        1
  •  2
  •   Steve Harrison    16 年前

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

    if(label==@"nan") {
     //code
    }
    
    1. label 而不是 [label text] label.text
    2. 在Cocoa/Cocoa Touch中,需要使用 NSString 的 isEqualToString

    相反,请尝试:

    if ([[label text] isEqualToString:@"nan"]) {
     // Code
    }
    
        2
  •  1
  •   bealex    16 年前

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