fix(significant_digits): account for no dot or many dot

This commit is contained in:
electria 2026-07-21 12:08:40 -07:00
commit c108d3a2d2
Signed by: electria
SSH key fingerprint: SHA256:8LlB3ucPbBHqozqkhsNbaV5oG3SlzzqUj8FZDL6IPQs

View file

@ -47,20 +47,20 @@ pub fn get_significant_digits(n: &Float) -> usize {
} }
if consecutive_zeros >= 10 { if consecutive_zeros >= 10 {
significant_digits = i - consecutive_zeros; significant_digits = i + 1 - consecutive_zeros;
break; break;
} else if consecutive_nines >= 10 { } else if consecutive_nines >= 10 {
significant_digits = i - consecutive_nines; significant_digits = i + 1 - consecutive_nines;
break; 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; significant_digits = i + 1;
break; break;
} }
} }
significant_digits significant_digits - raw_string.chars().filter(|c| *c == '.').count()
} }
#[test] #[test]