diff --git a/src/main.rs b/src/main.rs index 107dbf5..eeaba03 100644 --- a/src/main.rs +++ b/src/main.rs @@ -22,5 +22,16 @@ fn main() { } }; - println!("{:.3}", parse_and_calc(&input)); + let result = parse_and_calc(&input); + + let result_raw_string = format!("{}", result); + let mut significant_digits = result_raw_string.len() - 1; + for (i, _) in result_raw_string.char_indices() { + if !result_raw_string[i..result_raw_string.len()].contains(|c| matches!(c, '1'..'9')) { + significant_digits = i; + break; + } + } + + println!("{result:.significant_digits$}"); }