Как преобразовать десятичное число в восьмеричное в объективе c

как и мой вопрос: как я могу преобразовать десятичное число в восьмеричное в объективе c? кто-нибудь может мне помочь? это вызывает у меня головокружение


person R. Dewi    schedule 11.07.2011    source источник
comment
Что ты пытаешься сделать ? преобразование строк?   -  person    schedule 11.07.2011
comment
да, я пытаюсь преобразовать строки   -  person R. Dewi    schedule 11.07.2011
comment
stackoverflow.com/questions/934790/   -  person iOS Monster    schedule 11.07.2011


Ответы (2)


Вы должны инициализировать новый объект NSString, используя правильный спецификатор формата.

Нравится :

int i = 9;
NSString *octalString = [NSString stringWithFormat:@"%o", i]; // %O works too.

Это создаст автоматически выпущенный объект NSString, содержащий восьмеричное строковое представление i. Если вы начинаете с NSString, содержащего представление десятичного числа, вы должны сначала получить число, используя:

int i = [myDecimalNumberAsAString intValue];

Вот ссылка на справочник спецификаторов формата.

Надеюсь это поможет.

person Community    schedule 11.07.2011
comment
У меня есть NSString, например, содержит строку типа «0xfff9f4». Как я могу покрыть его восьмеричным числом? - person Bagusflyer; 26.09.2012

Поскольку Objective C является расширенным набором C, вы можете просто использовать функции C, такие как sprintf, например.

char s[32];
int n = 42;
sprintf(s, "%o", n);
person Paul R    schedule 11.07.2011
comment
@Risma: если вы нажмете слово sprintf в ответе выше, вы обнаружите, что это ссылка, которая приведет вас к полной документации для функции библиотеки sprintf C. - person Paul R; 11.07.2011