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


Rust Octal用法及代码示例


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

用法

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

o 格式化。

Octal 特征应将其输出格式化为以 8 为底的数字。

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

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

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

例子

i32 的基本用法:

let x = 42; // 42 is '52' in octal

assert_eq!(format!("{:o}", x), "52");
assert_eq!(format!("{:#o}", x), "0o52");

assert_eq!(format!("{:o}", -16), "37777777760");

在类型上实现Octal

use std::fmt;

struct Length(i32);

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

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

let l = Length(9);

assert_eq!(format!("l as octal is: {:o}", l), "l as octal is: 11");

assert_eq!(format!("l as octal is: {:#06o}", l), "l as octal is: 0o0011");

相关用法


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