Как преобразовать NSString в NSNumber

Чтобы получить один символ, я использовал getch , но я не знаю, работает ли он в Windows.

563
задан brynbodayle 1 November 2012 в 21:11
поделиться

2 ответа

Используйте NSNumberFormatter :

NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
f.numberStyle = NSNumberFormatterDecimalStyle;
NSNumber *myNumber = [f numberFromString:@"42"];

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

1236
ответ дан 22 November 2019 в 22:11
поделиться

Вы можете использовать - [NSString integerValue] , - [NSString floatValue] и т. Д. Однако правильный (с учетом языкового стандарта и т. Д.) ) способ сделать это - использовать - [NSNumberFormatter numberFromString:] , который даст вам NSNumber, преобразованный из соответствующей локали и с учетом настроек NSNumberFormatter (включая то, разрешит ли он значения с плавающей запятой).

178
ответ дан 22 November 2019 в 22:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: