Fix small number rounding with fixed precision in grisu

This commit is contained in:
Victor Zverovich
2019-07-04 06:59:11 -07:00
parent 6a031347e5
commit edd13fcc1c
2 changed files with 2 additions and 0 deletions

View File

@@ -604,6 +604,7 @@ struct fixed_handler {
// Check if precision is satisfied just by leading zeros, e.g.
// format("{:.2f}", 0.001) gives "0.00" without generating any digits.
if (precision > 0) return digits::more;
if (precision < 0) return digits::done;
auto dir = get_round_direction(divisor, remainder, error);
if (dir == unknown) return digits::error;
buf[size++] = dir == up ? '1' : '0';