Как перевести десятичные числа в шестнадцатеричные в JavaScript

Перевод десятичных чисел в шестнадцатеричный формат

Здравствуйте! У меня возникла проблема, связанная с работой с цветами и форматами данных. Не могу понять, как конвертировать обычные десятичные числа в шестнадцатеричный формат с помощью JavaScript.

Например, у меня есть число 255, и мне нужно получить ‘FF’. Или число 128 должно преобразоваться в ‘80’ в шестнадцатеричном виде.

let number = 42;
// Как можно получить '2A' из этого числа?

let rgbValue = 200;
// Мне нужно его преобразовать в 'C8' для RGB

Я пытался искать в интернете, но все решения попадались сложные. Есть ли более простой способ это сделать? Может, существуют встроенные методы, о которых я не знаю?

Буду признателен за помощь и примеры кода!

toString(16) работает отлично, но я обычно оборачиваю в функцию для нужного формата:

function toHex(num) {
  return num.toString(16).toUpperCase().padStart(2, '0');
}

console.log(toHex(42)); // '2A'
console.log(toHex(200)); // 'C8'

С RGB особенно удобно - сразу получаешь правильный формат.

А что с отрицательными числами? toString(16) их нормально обрабатывает? И работает ли это с большими числами вроде 16777215? Есть ли ограничения по размеру?