summaryrefslogtreecommitdiff
path: root/platform/qt/src/format_number.cpp
diff options
context:
space:
mode:
authorJuha Alanen <juha.alanen@mapbox.com>2019-06-03 15:34:13 +0300
committerJuha Alanen <19551460+jmalanen@users.noreply.github.com>2019-06-27 15:51:22 +0300
commit0ca8ea6f169149cd414a65f40d0f7bdd40f3cca3 (patch)
treedb6a58892dd6326b8ba22da7fc822d008bdda01a /platform/qt/src/format_number.cpp
parent81ea5d020efd0257083bf323644a575f5ea800c9 (diff)
downloadqtlocation-mapboxgl-0ca8ea6f169149cd414a65f40d0f7bdd40f3cca3.tar.gz
[core] Add number-format expression
Diffstat (limited to 'platform/qt/src/format_number.cpp')
-rw-r--r--platform/qt/src/format_number.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/platform/qt/src/format_number.cpp b/platform/qt/src/format_number.cpp
new file mode 100644
index 0000000000..b6fe3558e6
--- /dev/null
+++ b/platform/qt/src/format_number.cpp
@@ -0,0 +1,26 @@
+#include <mbgl/util/platform.hpp>
+
+#include <QLocale>
+#include <QString>
+
+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