当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust UpperHex用法及代码示例


本文简要介绍rust语言中 Trait core::fmt::UpperHex 的用法。

用法

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

X 格式化。

UpperHex 特征应将其输出格式化为十六进制数字,AF 为大写。

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

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

有关格式化程序的更多信息,请参阅the module-level documentation

例子

i32 的基本用法:

let x = 42; // 42 is '2A' in hex

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

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

在类型上实现UpperHex

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) // delegate to i32's implementation
    }
}

let l = Length(i32::MAX);

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

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

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Trait core::fmt::UpperHex。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。