| 362 | } |
| 363 | |
| 364 | fn add_magnitude_separators_for_char( |
| 365 | magnitude_str: String, |
| 366 | inter: i32, |
| 367 | sep: char, |
| 368 | disp_digit_cnt: i32, |
| 369 | ) -> String { |
| 370 | // Don't add separators to the floating decimal point of numbers |
| 371 | let mut parts = magnitude_str.splitn(2, '.'); |
| 372 | let magnitude_int_str = parts.next().unwrap().to_string(); |
| 373 | let dec_digit_cnt = magnitude_str.len() as i32 - magnitude_int_str.len() as i32; |
| 374 | let int_digit_cnt = disp_digit_cnt - dec_digit_cnt; |
| 375 | let mut result = Self::separate_integer(magnitude_int_str, inter, sep, int_digit_cnt); |
| 376 | if let Some(part) = parts.next() { |
| 377 | result.push_str(&format!(".{part}")) |
| 378 | } |
| 379 | result |
| 380 | } |
| 381 | |
| 382 | fn separate_integer( |
| 383 | magnitude_str: String, |