Fix Lower/UpperExp formatting for integers and precision zero

This commit is contained in:
Fabian Wolff 2021-10-03 23:05:03 +02:00
parent edebf77e00
commit e3996ffcb6
2 changed files with 2 additions and 2 deletions

View File

@ -305,7 +305,6 @@ macro_rules! impl_Exp {
n /= 10;
exponent += 1;
}
let trailing_zeros = exponent;
let (added_precision, subtracted_precision) = match f.precision() {
Some(fmt_prec) => {
@ -333,7 +332,7 @@ macro_rules! impl_Exp {
n += 1;
}
}
(n, exponent, trailing_zeros, added_precision)
(n, exponent, exponent, added_precision)
};
// 39 digits (worst case u128) + . = 40

View File

@ -146,6 +146,7 @@ fn test_format_int_exp_precision() {
assert_eq!(format!("{:.1000e}", 1), format!("1.{}e0", "0".repeat(1000)));
//test zero precision
assert_eq!(format!("{:.0e}", 1), format!("1e0",));
assert_eq!(format!("{:.0e}", 25), format!("3e1",));
//test padding with precision (and sign)
assert_eq!(format!("{:+10.3e}", 1), " +1.000e0");