将具有八进制数的 NSString 转换为十进制 int

Convert NSString with octal numbers to decimal int

我有一个八进制数的 NSString:

NSString* 八进制 = @"247";

我想将其转换为以 10 为基数的整数。

如果这是一个十六进制数字我可以使用 NSScanner scanHex 方法,但是没有 scanOct...

谢谢!

标准 C 库具有用于此目的的转换函数:

NSString* octal = @"247";

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

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

decimal 现在包含转换后的 10 进制值。