Сделать так, чтобы UILabel показывал «Нет результатов» вместо «НАН» - PullRequest
0 голосов
/ 04 апреля 2010

У меня есть небольшое приложение, где пользователь может сделать некоторые вычисления и решить уравнения. Например, если в квадратном уравнении дискриминант меньше нуля, значения x1 и x2 равны «nan», поэтому, когда я присваиваю значения x1 и x2 для UILabels, они также показывают «nan». Пишу много если как

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

Не помогает - слишком много дел. Я хочу проверить, если после

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

значение метки равно "nan", значение метки будет равно @ "Нет решений".

Делать просто

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

не помогает.

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 04 апреля 2010

В вашем следующем блоке кода есть две ошибки:

if(label==@"nan") {
 //code
}
  1. Вы имеете в виду label вместо [label text] (или label.text, если вы предпочитаете точечную запись).
  2. В Cocoa / Cocoa-Touch вам нужно выполнить сравнение строк, используя NSString isEqualToString.

Вместо этого попробуйте:

if ([[label text] isEqualToString:@"nan"]) {
 // Code
}
1 голос
/ 04 апреля 2010

Вы также можете попробовать использовать макросы isnan:

[label setText:(isnan(x) ? @"No solutions" : [NSString stringWithFormat:@"%f", x])];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...