Skip to content

Trait std::fmt::UpperHex

X 格式。

rust
pub trait UpperHex {
    // Required method
    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}

UpperHex trait 应该将其输出格式设置为十六进制数字,其中 AF 为大写形式。

对于原始有符号整数 (i8i128isize),负值的格式设置为二进制补码表示形式。

备用标志 # 在输出前面添加 0x

i32 的基本用法:

rust
let x = 42; // 42 是十六进制的 '2A'

assert_eq!(format!("{x:X}"), "2A");
assert_eq!(format!("{x:#X}"), "0x2A");

assert_eq!(format!("{:X}", -16), "FFFFFFF0");

在类型上实现 UpperHex

rust
use std::fmt;

struct Length(i32);

impl fmt::UpperHex for Length {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        let val = self.0;

        fmt::UpperHex::fmt(&val, f) // 委托给 i32 的实现
    }
}

let l = Length(i32::MAX);

assert_eq!(format!("l as hex is: {l:X}"), "l as hex is: 7FFFFFFF");

assert_eq!(format!("l as hex is: {l:#010X}"), "l as hex is: 0x7FFFFFFF");

Required Methods

fmt

使用给定的格式化程序格式化该值。

rust
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Implementors

impl UpperHex for i8

impl UpperHex for i16

impl UpperHex for i32

impl UpperHex for i64

impl UpperHex for i128

impl UpperHex for isize

impl UpperHex for u8

impl UpperHex for u16

impl UpperHex for u32

impl UpperHex for u64

impl UpperHex for u128

impl UpperHex for usize

impl UpperHex for NonZeroI8

impl UpperHex for NonZeroI16

impl UpperHex for NonZeroI32

impl UpperHex for NonZeroI64

impl UpperHex for NonZeroI128

impl UpperHex for NonZeroIsize

impl UpperHex for NonZeroU8

impl UpperHex for NonZeroU16

impl UpperHex for NonZeroU32

impl UpperHex for NonZeroU64

impl UpperHex for NonZeroU128

impl UpperHex for NonZeroUsize

impl<T> UpperHex for &T

rust
impl<T> UpperHex for &T
where
  T: UpperHex + ?Sized,

impl<T> UpperHex for &mut T

rust
impl<T> UpperHex for &mut T
where
  T: UpperHex + ?Sized,

impl<T> UpperHex for Saturating<T>

rust
impl<T> UpperHex for Saturating<T>
where
  T: UpperHex,

impl<T> UpperHex for Wrapping<T>

rust
impl<T> UpperHex for Wrapping<T>
where
  T: UpperHex,

MIT Licensed