NSNumberFormatter: строка для удвоения - PullRequest
0 голосов
/ 04 декабря 2011

Я пытаюсь взять пользовательский ввод из текстового поля и отформатировать его в двойное значение для основных данных.В настоящее время мой код выглядит следующим образом:

    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];

NSNumber *weightDouble = [numberFormatter numberFromString:@"weight.text"];

Однако, если я печатаю weightDouble, я получаю 0, если я распечатываю текст из ввода интерфейса, я получаю правильное число.Любые идеи о том, что я делаю не так здесь?Я не получаю ошибок при сборке, и она работает и сохраняет нормально (кроме сохранения 0 независимо от ввода)

1 Ответ

3 голосов
/ 04 декабря 2011

Прежде всего: (Если 'weight' - UITextField)

NSNumber *weightDouble = [numberFormatter numberFromString:weight.text];

С numberFromString:@"weight.text" вы получите значение текста 'weight.text', который находится вфакт 0.

Но почему не просто double weightDouble = weight.text.doubleValue?(За исключением, может быть, проблем с локализацией)

...