【问题标题】:Make UILabel show "No results" instead of "nan"使 UILabel 显示“No results”而不是“nan”
【发布时间】:2010-04-04 08:54:30
【问题描述】:

我有一个小应用程序,用户可以在其中进行一些计算和求解方程。例如,如果在平方方程中判别式小于零,则 x1 和 x2 值为“nan”,因此当我将 x1 和 x2 值分配给 UILabel 时,它们也会显示“nan”。写很多if之类的

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

没有帮助 - 案例太多了。我想检查是否在

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

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

做简单的

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

没用。

提前致谢!

【问题讨论】:

    标签: iphone xcode uilabel


    【解决方案1】:

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

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

    请尝试:

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

    【讨论】:

      【解决方案2】:

      你也可以尝试使用 isnan 宏:

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

      【讨论】:

        猜你喜欢
        • 2022-11-11
        • 1970-01-01
        • 2014-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-02
        相关资源
        最近更新 更多