Преобразовать NSString с восьмеричными числами в десятичный int

У меня есть NSString с восьмеричными числами:

NSString* восьмеричное = @"247";

Я хотел бы преобразовать это в целое число в базе 10.

Если бы это был шестнадцатеричный номер, я мог бы использовать метод сканирования NSScannerHex, но нет scanOct...

Спасибо!


person user2444342    schedule 08.02.2015    source источник


Ответы (1)


В стандартной библиотеке C для этой цели есть функции преобразования:

NSString* octal = @"247";

unsigned long value;
sscanf([octal UTF8String], "%lo", &value);

NSString* decimal = [@(value) stringValue];

decimal теперь содержит преобразованное значение базы 10.

person Nikolai Ruhe    schedule 08.02.2015