fix: include '9' when checking for any more digits
This commit is contained in:
parent
ca6af4d06f
commit
016e21ac5a
1 changed files with 4 additions and 1 deletions
|
|
@ -54,7 +54,7 @@ pub fn get_significant_digits(n: &Float) -> usize {
|
||||||
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;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -69,7 +69,10 @@ fn test_get_significant_digits() {
|
||||||
assert_eq!(many_zeros.to_f64(), 117.48139);
|
assert_eq!(many_zeros.to_f64(), 117.48139);
|
||||||
let many_nines = parse_and_calc("12.0096 + 15.9994 * 2");
|
let many_nines = parse_and_calc("12.0096 + 15.9994 * 2");
|
||||||
assert_eq!(many_nines.to_f64(), 44.0084);
|
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_zeros), 8);
|
||||||
assert_eq!(get_significant_digits(&many_nines), 6);
|
assert_eq!(get_significant_digits(&many_nines), 6);
|
||||||
|
assert_eq!(get_significant_digits(&zero_nine_zero), 6);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue