Fix fixed rounding around zero in Dragon

This commit is contained in:
Victor Zverovich
2024-02-03 09:31:36 -08:00
parent e5bab8dab4
commit 06311ed1ce
2 changed files with 8 additions and 2 deletions

View File

@@ -3104,8 +3104,11 @@ FMT_CONSTEXPR20 inline void format_dragon(basic_fp<uint128_t> value,
// Generate the given number of digits.
exp10 -= num_digits - 1;
if (num_digits <= 0) {
denominator *= 10;
auto digit = add_compare(numerator, numerator, denominator) > 0 ? '1' : '0';
auto digit = '0';
if (num_digits == 0) {
denominator *= 10;
digit = add_compare(numerator, numerator, denominator) > 0 ? '1' : '0';
}
buf.push_back(digit);
return;
}