2013-11-11 6 views
0

Мне нужно преобразовать NSString s, обозначая десятичные значения шестнадцатеричным строкам, например. строка со значением «10» должна быть преобразована в строку «A», «15» должна быть преобразована в «E», «20» - «14» и т. д.Преобразование десятичной NSString в шестнадцатеричную строку

Как это сделать?

+1

Вы должны прочитать спецификатор формата, используемый при печати форматированных значений в виде NSString: [Спецификаторы формата строки] (https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers .html). Подобные спецификаторы формата применяются к 'printf' и друзьям. Теперь вам просто нужно понять, как получить целое число из строки, а затем напечатать номер с соответствующими спецификаторами формата. – CouchDeveloper

+0

Возможный дубликат [Конвертировать двойную десятичную дробь в шестнадцатеричную, двоичную и восьмеричную строки] (http://stackoverflow.com/questions/13202964/convert-double-decimal-to-hex-binary-and-octal-strings) –

ответ

7

Это следует сделать это:

NSString *hexedString = [NSString stringWithFormat:@"%X",[originalString intValue]]; 

Обратите внимание, что вы можете захотеть сделать некоторые (не) проверки смысла.

+0

@NikolaiRuhe : спасибо за редактирование! –

+1

Aaaarrrhhhh - Конечно! Глупый я. Раньше, чем раньше, я просто забыл метод intValue. Спасибо за ваш ответ. – Torben

+0

Вы должны позаботиться о том, чтобы использовать его, - убедитесь, что нет возможных строк ввода мусора. –

Смежные вопросы