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


Rust Formatter.pad_integral用法及代码示例


本文简要介绍rust语言中 core::fmt::Formatter.pad_integral 的用法。

用法

pub fn pad_integral(    &mut self,     is_nonnegative: bool,     prefix: &str,     buf: &str) -> Result

对已经发送到 str 中的整数执行正确的填充。 str 不应包含整数的符号,它将通过此方法添加。

参数

  • is_nonnegative - 原始整数是正数还是零。
  • 前缀 - 如果提供了 '#' 字符(备用),这是放在数字前面的前缀。
  • buf - 数字已格式化为的字节数组

此函数将正确考虑提供的标志以及最小宽度。它不会考虑精度。

例子

use std::fmt;

struct Foo { nb: i32 }

impl Foo {
    fn new(nb: i32) -> Foo {
        Foo {
            nb,
        }
    }
}

impl fmt::Display for Foo {
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
        // We need to remove "-" from the number output.
        let tmp = self.nb.abs().to_string();

        formatter.pad_integral(self.nb >= 0, "Foo ", &tmp)
    }
}

assert_eq!(&format!("{}", Foo::new(2)), "2");
assert_eq!(&format!("{}", Foo::new(-1)), "-1");
assert_eq!(&format!("{}", Foo::new(0)), "0");
assert_eq!(&format!("{:#}", Foo::new(-1)), "-Foo 1");
assert_eq!(&format!("{:0>#8}", Foo::new(-1)), "00-Foo 1");

相关用法


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