проверить, является ли NSString целым или двойным - PullRequest
3 голосов
/ 03 сентября 2011

как я могу проверить, есть ли у NSString * val у меня целое число или число с плавающей точкой ?? Необработанный подход заключается в поиске "." персонаж .. но есть ли более изящный способ сделать это?

1 Ответ

8 голосов
/ 03 сентября 2011

Сначала попробуйте [NSScanner scanInt:]&& [NSScanner isAtEnd]. Если он возвращает YES, то у вас есть int. scanInt будет сканировать вперед, пока он может интерпретировать поток как int. Если isAtEnd - ДА, тогда вся строка может быть интерпретирована как int (так что у вас есть int).

В противном случае попробуйте [NSScanner scanDouble:]. Если он возвращает YES, то у вас есть двойной.

Если оба возвращают NO, то у вас их тоже нет.

...