--- a/i18n/decimfmt.cpp +++ b/i18n/decimfmt.cpp @@ -1812,7 +1812,7 @@ bool DecimalFormat::fastFormatDouble(double input, UnicodeString& output) const return false; } if (std::isnan(input) - || std::trunc(input) != input + || trunc(input) != input || input <= INT32_MIN || input > INT32_MAX) { return false; --- a/i18n/number_decimalquantity.cpp +++ b/i18n/number_decimalquantity.cpp @@ -446,7 +446,7 @@ void DecimalQuantity::_setToDoubleFast(double n) { for (; i <= -22; i += 22) n /= 1e22; n /= DOUBLE_MULTIPLIERS[-i]; } - auto result = static_cast(std::round(n)); + auto result = static_cast(round(n)); if (result != 0) { _setToLong(result); scale -= fracLength;