pub trait UpperHex {
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>;
}
X formatting.
The UpperHex trait should format its output as a number in hexadecimal, with A through F in upper case.
The alternate flag, #, adds a 0x in front of the output.
For more information on formatters, see the module-level documentation.
Basic usage with i32:
let x = 42; // 42 is '2A' in hex
assert_eq!(format!("{:X}", x), "2A");
assert_eq!(format!("{:#X}", x), "0x2A"); Implementing UpperHex on a type:
use std::fmt;
struct Length(i32);
impl fmt::UpperHex for Length {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let val = self.0;
write!(f, "{:X}", val) // delegate to i32's implementation
}
}
let l = Length(9);
println!("l as hex is: {:X}", l); impl UpperHex for i16
impl UpperHex for u128
impl UpperHex for isize
impl UpperHex for u32
impl<T> UpperHex for Wrapping<T> where
T: UpperHex,
impl<'a, T> UpperHex for &'a T where
T: UpperHex + ?Sized,
impl UpperHex for i8
impl UpperHex for u64
impl UpperHex for usize
impl UpperHex for i64
impl UpperHex for i32
impl UpperHex for u8
impl UpperHex for u16
impl<'a, T> UpperHex for &'a mut T where
T: UpperHex + ?Sized,
impl UpperHex for i128
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/fmt/trait.UpperHex.html