formatting

This commit is contained in:
Jin S 2024-01-16 22:33:42 -05:00
parent 2ccc7aa455
commit 4d38a66f96

View File

@ -1157,7 +1157,7 @@ void write_fractional_seconds(OutputIt& out, Duration d, int precision = -1) {
int remaining = precision - leading_zeroes; int remaining = precision - leading_zeroes;
if (remaining < num_digits) { if (remaining < num_digits) {
int num_truncated_digits = num_digits - remaining; int num_truncated_digits = num_digits - remaining;
n /= to_unsigned(detail::pow10(to_unsigned(num_truncated_digits)-1)); n /= to_unsigned(detail::pow10(to_unsigned(num_truncated_digits) - 1));
const int old_num_digits = detail::count_digits(n); const int old_num_digits = detail::count_digits(n);
auto roundingDigit = n % 10; auto roundingDigit = n % 10;
n /= 10; n /= 10;
@ -1167,29 +1167,25 @@ void write_fractional_seconds(OutputIt& out, Duration d, int precision = -1) {
} }
if (old_num_digits == detail::count_digits(n)) { if (old_num_digits == detail::count_digits(n)) {
if (leading_zeroes) { if (leading_zeroes) {
out = std::fill_n(out, leading_zeroes-1, '0'); out = std::fill_n(out, leading_zeroes - 1, '0');
*out++ = '1'; *out++ = '1';
out = std::fill_n(out, remaining, '0'); out = std::fill_n(out, remaining, '0');
} } else {
else {
n -= 1; n -= 1;
out = format_decimal<Char>(out, n, remaining).end; out = format_decimal<Char>(out, n, remaining).end;
} }
} } else {
else {
out = std::fill_n(out, leading_zeroes, '0'); out = std::fill_n(out, leading_zeroes, '0');
out = format_decimal<Char>(out, n, remaining).end; out = format_decimal<Char>(out, n, remaining).end;
} }
} } else {
else {
if (roundingDigit >= 5) { if (roundingDigit >= 5) {
if (leading_zeroes) { if (leading_zeroes) {
out = std::fill_n(out, leading_zeroes-1, '0'); out = std::fill_n(out, leading_zeroes - 1, '0');
*out++ = '1'; *out++ = '1';
out = std::fill_n(out, remaining, '0'); out = std::fill_n(out, remaining, '0');
} }
} } else {
else {
out = std::fill_n(out, leading_zeroes, '0'); out = std::fill_n(out, leading_zeroes, '0');
} }
} }