Целое число в шестнадцатеричной строке

Я умею писать шестнадцатеричные литералы целых чисел (#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
Другие вопросы по тегам