From ae0f2a3aafdaa60e3f95d10fb651735e4a02fa5e Mon Sep 17 00:00:00 2001 From: electria Date: Thu, 16 Jul 2026 10:51:44 -0700 Subject: [PATCH] feat: print a reasonable number of significant digits --- src/main.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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$}"); }