fix(significant_digits): account for no dot or many dot
This commit is contained in:
parent
2b7884e802
commit
c108d3a2d2
1 changed files with 4 additions and 4 deletions
|
|
@ -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]
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue