From 016e21ac5a63b7880be7d32e414a375543acd72b Mon Sep 17 00:00:00 2001 From: electria Date: Mon, 20 Jul 2026 20:13:39 -0700 Subject: [PATCH] fix: include '9' when checking for any more digits --- src/main.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 2bc89f2..368ef3d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -54,7 +54,7 @@ pub fn get_significant_digits(n: &Float) -> usize { break; } - if !raw_string[i..raw_string.len()].contains(|c| matches!(c, '1'..'9')) { + if !raw_string[i..raw_string.len()].contains(|c| matches!(c, '1'..='9')) { significant_digits = i; break; } @@ -69,7 +69,10 @@ fn test_get_significant_digits() { assert_eq!(many_zeros.to_f64(), 117.48139); let many_nines = parse_and_calc("12.0096 + 15.9994 * 2"); assert_eq!(many_nines.to_f64(), 44.0084); + let zero_nine_zero = parse_and_calc("2+12321(5+123)"); + assert_eq!(zero_nine_zero.to_f64(), 1577090.0); assert_eq!(get_significant_digits(&many_zeros), 8); assert_eq!(get_significant_digits(&many_nines), 6); + assert_eq!(get_significant_digits(&zero_nine_zero), 6); }