NSString Преобразование в doubleValue после извлечения NSString из UIPicker - PullRequest
0 голосов
/ 27 июля 2010

у меня есть:

    NSInteger dollarrow = [ValuesPicker selectedRowInComponent:kDollar];

    NSString *dollar = [dollarlist objectAtIndex:dollarrow];

   double converteddollar=0;

Я хочу сделать цикл for для этого и получить значение в два раза, я пытаюсь это:

    for(dollar=1;dollar<=99;dollar++)
    {
    converteddollar = converteddollar + 2;
    }

Теперь доллар содержит NSString, как мне преобразовать в double, чтобы успешно выполнить операцию, а затем

NSString *message = [[NSString alloc] initWithFormat:@"%0.2f",converteddollar];

Я получаю предупреждения, и приложение падает. Как я могу это исправить. Я изучаю цель C, пожалуйста, помогите. Спасибо . Извините, я не хотел == я просто хотел использовать =

Ответы [ 3 ]

0 голосов
/ 27 июля 2010

Ваш цикл for неправильный.Вы действительно хотите '=='?Я думаю, вы хотите только '='.Разве вы не можете использовать что-то подобное?(Я просто привожу пример, чтобы указать на ошибки в цикле. Ваше требование может быть чем-то другим. А также я не скомпилировал код, сейчас у меня нет mac. Поэтому вы можете получить небольшую ошибку)

double sum = 0

for (NSInteger i = 1; i &lt= 99; i++) {
    sum += 2;  // or whatever you need here
}

NSString *convertedStr = [NSString stringWithFormat:@"%lf", sum];
0 голосов
/ 28 июля 2010

NSString *dollar = [dollarlist objectAtIndex:dollarrow];

double converteddollar = [dollar doubleValue]; должно работать (вам не нужно for петля)

0 голосов
/ 27 июля 2010

Множество ошибок ...

NSInteger dollarrow = [ValuesPicker selectedRowInComponent:kDollar];

Метод selectedRowInComponent: является методом-членом.Не статичный.Вам нужно вызвать его на экземпляр .

== - оператор сравнения.То, что вам нужно, это, конечно, присвоение с одним знаком =.

Вы объявляете указатель на объект NSString.Но это не инициализировано.Вам также следует использовать временную двойную переменную для вашего цикла.

Я не понимаю, что должен делать ваш цикл.Можешь немного объяснить?

...