diff options
author | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2020-02-13 19:18:47 +0200 |
---|---|---|
committer | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2020-03-05 01:58:34 +0200 |
commit | dc510e44c085e87233b628a995b6957ad9c0ab9b (patch) | |
tree | 745e20e4c2b9291aa7a6aad8c4391920782cdbe3 /platform/default | |
parent | fb0c7c93a0f82cae603edc29e7e9a56024ed2b39 (diff) | |
download | qtlocation-mapboxgl-dc510e44c085e87233b628a995b6957ad9c0ab9b.tar.gz |
[default] Build a no-op number formatter for old ICUs
This has been causing too many build problems and it is
a major source of complains because of different ICU interfaces.
Diffstat (limited to 'platform/default')
-rw-r--r-- | platform/default/src/mbgl/i18n/number_format.cpp | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/platform/default/src/mbgl/i18n/number_format.cpp b/platform/default/src/mbgl/i18n/number_format.cpp index ded4495202..6a975926d7 100644 --- a/platform/default/src/mbgl/i18n/number_format.cpp +++ b/platform/default/src/mbgl/i18n/number_format.cpp @@ -1,10 +1,16 @@ #include <mbgl/i18n/number_format.hpp> +#if !defined(MBGL_USE_BUILTIN_ICU) #include <unicode/numberformatter.h> +#include <unicode/uvernum.h> +#endif + +#include <string> namespace mbgl { namespace platform { +#if !defined(MBGL_USE_BUILTIN_ICU) std::string formatNumber(double number, const std::string& localeId, const std::string& currency, @@ -22,28 +28,21 @@ std::string formatNumber(double number, .unit(icu::CurrencyUnit(ucurrency.getBuffer(), status)) .locale(locale) .formatDouble(number, status) -#if U_ICU_VERSION_MAJOR_NUM >= 62 .toString(status); -#else - .toString(); -#endif } else { ustr = icu::number::NumberFormatter::with() -#if U_ICU_VERSION_MAJOR_NUM >= 62 .precision(icu::number::Precision::minMaxFraction(minFractionDigits, maxFractionDigits)) -#else - .rounding(icu::number::Rounder::minMaxFraction(minFractionDigits, maxFractionDigits)) -#endif .locale(locale) .formatDouble(number, status) -#if U_ICU_VERSION_MAJOR_NUM >= 62 .toString(status); -#else - .toString(); -#endif } return ustr.toUTF8String(formatted); } +#else +std::string formatNumber(double number, const std::string&, const std::string&, uint8_t, uint8_t) { + return std::to_string(number); +} +#endif } // namespace platform } // namespace mbgl |