Format a number with thousand separator characters in Rust
Category: rust, year: 2021
The following code function snippet is an example of how to format a number (already in String/&str form) with thousand separator characters in Rust:
pub fn thousand_separate_string_number(string_val: &str) -> String {
let mut s = String::new();
let mut local_copy = string_val.to_string();
let decimal_pos = local_copy.rfind('.');
if let Some(pos) = decimal_pos {
// deal with any decimal place digit and following digits first
s.push_str(&string_val[pos..]);
local_copy = string_val[..pos].to_string();
}
let chrs = local_copy.chars().rev().enumerate();
for (idx, val) in chrs {
if idx != 0 && idx % 3 == 0 {
s.insert(0, ',');
}
s.insert(0, val);
}
s
}