From 11d49491cb995d57deded167e67897ff6266e5d6 Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Sat, 14 Aug 2021 09:38:41 -0700 Subject: [PATCH] Handle global locale --- include/fmt/format.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/fmt/format.h b/include/fmt/format.h index 94f07195..ee3d7f75 100644 --- a/include/fmt/format.h +++ b/include/fmt/format.h @@ -1430,8 +1430,8 @@ template class digit_grouping { } public: - explicit digit_grouping(locale_ref loc) { - if (loc) + explicit digit_grouping(locale_ref loc, bool localized = true) { + if (localized) sep_ = thousands_sep(loc); else sep_.thousands_sep = Char(); @@ -1806,7 +1806,7 @@ auto write_float(OutputIt out, const DecimalFP& fp, if (num_zeros <= 0 && fspecs.format != float_format::fixed) num_zeros = 1; if (num_zeros > 0) size += to_unsigned(num_zeros) + 1; } - auto grouping = digit_grouping(loc); + auto grouping = digit_grouping(loc, fspecs.locale); size += to_unsigned(grouping.count_separators(significand_size)); return write_padded(out, specs, size, [&](iterator it) { if (sign) *it++ = static_cast(data::signs[sign]); @@ -1820,7 +1820,7 @@ auto write_float(OutputIt out, const DecimalFP& fp, // 1234e-2 -> 12.34[0+] int num_zeros = fspecs.showpoint ? fspecs.precision - significand_size : 0; size += 1 + to_unsigned(num_zeros > 0 ? num_zeros : 0); - auto grouping = digit_grouping(loc); + auto grouping = digit_grouping(loc, fspecs.locale); size += to_unsigned(grouping.count_separators(significand_size)); return write_padded(out, specs, size, [&](iterator it) { if (sign) *it++ = static_cast(data::signs[sign]);