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


Rust LowerHex用法及代码示例


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

用法

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

x 格式化。

LowerHex 特征应将其输出格式化为十六进制数字,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");

在类型上实现LowerHex

use std::fmt;

struct Length(i32);

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

        fmt::LowerHex::fmt(&val, f) // delegate to i32's implementation
    }
}

let l = Length(9);

assert_eq!(format!("l as hex is: {:x}", l), "l as hex is: 9");

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

相关用法


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