Rust中如何向左填充?

dit*_*lav 7 string pad rust

我是 Rust 新手,完全迷失在标准库中。我不想仅仅为了填充而添加一个板条箱。如何用零填充数字到一定宽度?

假设我有这段代码,并且我需要 pad_left 实现。

fn main() {
  let i = 5.to_string();

  let padded_i = pad_left(i, 2);
}
Run Code Online (Sandbox Code Playgroud)

小智 4

Rust 文档有一个示例,说明如何将数字格式化为字符串,前导零达到一定宽度(本例中为 5):

format!("Hello {:05}!", 5); // returns, "Hello 00005!"
format!("Hello {:05}!", -5); // returns, "Hello -0005!"
Run Code Online (Sandbox Code Playgroud)

如果您需要打印数字,则可以format!print!或替换宏println!

  • @ditoslav `println!("{:b>5}", "a");` 会给你 `bbbba` (4认同)