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

时间:2015-02-08 18:05:37

标签: iphone nsstring octal

我有一个带八进制数字的NSString:

NSString * octal = @“247”;

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

标准C库具有用于此目的的转换功能:

NSString* octal = @"247";

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

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

decimal现在包含已转换的基数10值。