Как преобразовать из int в строку в цели c: пример кода

Я пытаюсь преобразовать из int в строку, но у меня возникли проблемы. Я следил за выполнением через отладчик и строку «myT». получает значение «сумма» но "если" Оператор не работает правильно, если «сумма» 10,11,12. Разве я не должен использовать примитивный тип int для хранения числа? Кроме того, оба метода, которые я пробовал (см. Закомментированный код), не соответствуют истинному пути 'if' a '; заявление. Спасибо!

int x = [my1 intValue]; 
    int y = [my2 intValue]; 
    int sum = x+y;
    //myT = [NSString stringWithFormat:@"%d", sum];
    myT = [[NSNumber numberWithInt:sum] stringValue];

    if([email protected]"10" || [email protected]"11" || [email protected]"12")
        action = @"numGreaterThanNine";
 Alex09 июл. 2009 г., 18:17
Есть ли причина, по которой вы помещаете целое число в строку? Было бы намного проще написать свой тест, чемif (sum >= 10 && sum <= 12)
 Florin15 дек. 2010 г., 14:18
Если приведенные ниже ответы сбивают вас с толку, проверьте этот вопрос:stackoverflow.com/questions/3414644/…

Ответы на вопрос(6)

как вы предлагаете, я обнаружил, что самый простой способ сделать это, как показано ниже:

[NSString stringWithFormat:@"%d",numberYouAreTryingToConvert]
int val1 = [textBox1.text integerValue];
int val2 = [textBox2.text integerValue];

int resultValue = val1 * val2;

textBox3.text = [NSString stringWithFormat: @"%d", resultValue];

== не должны использоваться для сравнения объектов в вашемif, ЗаNSString использованиеisEqualToString: сравнить их.

Решение Вопроса

то.

Если вы используете== оператор строк, вы сравниваете строки адреса (где они расположены в памяти), а не значения строк. Это иногда полезно (это указывает на то, что у вас точно такой же строковый объект), но в 99% случаев вы хотите сравнивать значения, которые вы делаете так:

if([myT isEqualToString:@"10"] || [myT isEqualToString:@"11"] || [myT isEqualToString:@"12"])
 09 июл. 2009 г., 18:07
Незначительная опечатка, отсутствует: во 2-м сравнении.

NSString* myString = [@(17) stringValue];

(Коробки в видеNSNumber и использует егостроковое значение метод)

 24 мар. 2014 г., 10:52
@RavindranathAkila -stringWithFormat является более гибким / мощным и должен использоваться в целом. Это просто ярлык, если вам нужно простое преобразование.

Просто конвертироватьint вNSString использовать:

  int x=10;

  NSString *strX=[NSString stringWithFormat:@"%d",x];

Ваш ответ на вопрос