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); }