Как сохранить 0 при переводе в 16-ричную систему c#
Я хочу перевести цвет RGB в HEX. Для этого использую Convert.ToString():
Console.WriteLine("HEX - #{Convert.ToString(color.R, 16)} {Convert.ToString(color.G, 16)} {Convert.ToString(color.B, 16)}"));
Если запихнуть туда цвет rgb(9, 9, 0), то выйдет 990, а нужно 090900.
Как сразу впихнуть нули, но при этом легально? Или это только ifом и конкатенацией сотворять?
Ответы (1 шт):
Автор решения: Alexander Petrov
→ Ссылка
Использовать int.ToString(format), где формат "X2" - hex в два символа.
Console.WriteLine($"HEX - #{color.R.ToString("X2")} {color.G.ToString("X2")} {color.B.ToString("X2")}");
Можно записать короче:
Console.WriteLine($"HEX - #{color.R:X2} {color.G:X2} {color.B:X2}");