mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-27 19:16:36 +00:00
It's a function that prints numbers with underscores inserted for readability (e.g. "1_234_567"), used by `-Zmeta-stats` and `-Zinput-stats`. It's the only thing in `rustc_middle::util::common`, which is a bizarre location for it. This commit: - moves it to `rustc_data_structures`, a more logical crate for it; - puts it in a module `thousands`, like the similar crates.io crate; - renames it `format_with_underscores`, which is a clearer name; - rewrites it to be more concise; - slightly improves the testing.
17 lines
431 B
Rust
17 lines
431 B
Rust
//! This is an extremely bare-bones alternative to the `thousands` crate on
|
|
//! crates.io, for printing large numbers in a readable fashion.
|
|
|
|
#[cfg(test)]
|
|
mod tests;
|
|
|
|
// Converts the number to a string, with underscores as the thousands separator.
|
|
pub fn format_with_underscores(n: usize) -> String {
|
|
let mut s = n.to_string();
|
|
let mut i = s.len();
|
|
while i > 3 {
|
|
i -= 3;
|
|
s.insert(i, '_');
|
|
}
|
|
s
|
|
}
|