number_format/
lib.rs

1use std::fmt::{self, Display, Formatter};
2
3struct RGB {
4    red: u8,
5    green: u8,
6    blue: u8,
7}
8
9impl Display for RGB {
10    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
11        let rgb = (self.red as u32) << 16 | (self.green as u32) << 16 | self.blue as u32;
12        write!(f, "Hexdecimal of RGB: {}", hex(rgb as i32))
13    }
14}
15
16pub fn rgb(red: u8, green: u8, blue: u8) -> String {
17    format!("{}", RGB { red, green, blue })
18}
19
20pub fn hex(n: i32) -> String {
21    format!("{n:#08X}")
22}