From e5cdc4ecf362dadf2da148a22cf97aaf3c9c4ecf Mon Sep 17 00:00:00 2001 From: Alexander Shalamov Date: Mon, 23 Sep 2019 17:22:38 +0300 Subject: [core][android][darwin] Move number format to i18n --- platform/qt/src/number_format.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 platform/qt/src/number_format.cpp (limited to 'platform/qt/src/number_format.cpp') diff --git a/platform/qt/src/number_format.cpp b/platform/qt/src/number_format.cpp new file mode 100644 index 0000000000..b6fe3558e6 --- /dev/null +++ b/platform/qt/src/number_format.cpp @@ -0,0 +1,26 @@ +#include + +#include +#include + +namespace mbgl { +namespace platform { + +std::string formatNumber(double number, const std::string& localeId, const std::string& currency, + uint8_t minFractionDigits, uint8_t maxFractionDigits) { + + QString formatted; + // Qt Locale::toString() API takes only one precision argument + (void)minFractionDigits; + QLocale locale = QLocale(QString::fromStdString(localeId)); + + if (!currency.empty()) { + formatted = locale.toCurrencyString(number); + } else { + formatted = locale.toString(number, 'f', maxFractionDigits); + } + return formatted.toStdString(); +} + +} // namespace platform +} // namespace mbgl -- cgit v1.2.1