keechain_core/util/
format.rs1pub fn number(num: usize) -> String {
5 let mut number: String = num.to_string();
6
7 if number.len() > 3 {
8 let reversed: String = number.chars().rev().collect();
9 number.clear();
10 for (index, char) in reversed.chars().into_iter().enumerate() {
11 if index != 0 && index % 3 == 0 {
12 number.push(' ');
13 }
14 number.push(char);
15 }
16 number = number.chars().rev().collect();
17 }
18
19 number
20}
21
22#[cfg(test)]
23mod test {
24 use super::*;
25
26 #[test]
27 fn format_number() {
28 assert_eq!(number(100), "100".to_string());
29 assert_eq!(number(1000), "1 000".to_string());
30 assert_eq!(number(10000), "10 000".to_string());
31 assert_eq!(number(100000), "100 000".to_string());
32 assert_eq!(number(1000000), "1 000 000".to_string());
33 assert_eq!(number(1000000000), "1 000 000 000".to_string());
34 }
35}