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}