Целое число в шестнадцатеричной строке
Я умею писать шестнадцатеричные литералы целых чисел (#A3
) на Цейлоне. Я также знаю, как анализировать шестнадцатеричные целые числа в Цейлоне.
Integer? integer = parseInteger("A3", 16);
print(integer.string); // 163
Как мне пойти другим путем, получить шестнадцатеричное строковое представление целого числа?
2 ответа
Использовать Integer.parse
а также Integer.format
функции. Они оба принимают основание, которое может использоваться для генерации строки целого числа с использованием произвольного основания (16 для шестнадцатеричного). По умолчанию formatInteger
генерирует строку строчными буквами. Использовать uppercased
свойство строки, если вы хотите прописную версию.
Integer|ParseException integer = Integer.parse("A3", 16);
assert(is Integer integer);
print(Integer.format(integer, 16)); // a3
print(Integer.format(integer, 16).uppercased); // A3
Обратите внимание, что format
не является методом экземпляра Integer
; это статический метод, поэтому вы не можете сделать integer.format(16)
,
Также обратите внимание, что parse
возвращает ParseException
на провал, а не Null
так что в этом неудачном случае будет больше информации.
Редактировать: оба parseInteger
а также formatInteger
функции устарели, так как были добавлены статические методы, используйте Integer.format
функция вместо
Использовать formatInteger
функция.
Integer? integer = parseInteger("A3", 16);
assert(exists integer);
print(formatInteger(integer, 16)); // a3