Just a learner
Just a learner

Reputation: 28562

In Rust, how to use variable in format! macro?

I have a very simple program:

fn main() {
    let y = format!("{:0>3}", 11);
    println!("{}", y);
}

The output is the string 011. The problem is that the width specifier 3 in {:0>3} is coming from a variable like this:

fn main() {
    let x = 3usize;
    let y = format!("{:0>3}", 11);
    println!("{}", y);
}

How can I use variable x to replace 3 in {:0>3}?

Upvotes: 7

Views: 1047

Answers (1)

Denys Séguret
Denys Séguret

Reputation: 382092

fn main() {
    let x = 3;
    let y = format!("{:0>width$}", 11, width=x);
    println!("{}", y);
}

As it may be hard to remember the whole formatting syntax, it's a good idea to get used to find the reference.

Upvotes: 8

Related Questions