Как разобрать числовое значение в строковом представлении в Какао? - PullRequest
0 голосов
/ 15 февраля 2010

как заголовок. Я протестировал NSScanner, но он прошел несколько странных строк. (напр .: 123aaa). Есть ли способ строго преобразовать число <-> в число?

Ответы [ 2 ]

1 голос
/ 15 февраля 2010

Вы можете легко свернуть свое собственное. Проверьте, была ли отсканирована вся строка или есть дополнительные символы.

NSScanner *scanner = [NSScanner localizedScannerWithString:str];
int i;
if (![scanner scanInt:&i] || [scanner scanLocation] < [str length]) {
    // str contains additional characters
    ...
} else {
    // str contains only an int
    ...
}
0 голосов
/ 15 февраля 2010

NSScanner не такой высокий уровень. Вам придется проверить строку самостоятельно.

Одним из способов может быть сканирование символов до набора цифр, утверждение, что это не удалось, затем сканирование цифр, затем сканирование до конца и утверждение, что это не удалось.

...