summaryrefslogtreecommitdiff
path: root/deps/icu-small/source/i18n/number_utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'deps/icu-small/source/i18n/number_utils.cpp')
-rw-r--r--deps/icu-small/source/i18n/number_utils.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/deps/icu-small/source/i18n/number_utils.cpp b/deps/icu-small/source/i18n/number_utils.cpp
index 0983b7b072..91d7f335cd 100644
--- a/deps/icu-small/source/i18n/number_utils.cpp
+++ b/deps/icu-small/source/i18n/number_utils.cpp
@@ -252,4 +252,15 @@ bool DecNum::isZero() const {
return decNumberIsZero(fData.getAlias());
}
+void DecNum::toString(ByteSink& output, UErrorCode& status) const {
+ if (U_FAILURE(status)) {
+ return;
+ }
+ // "string must be at least dn->digits+14 characters long"
+ int32_t minCapacity = fData.getAlias()->digits + 14;
+ MaybeStackArray<char, 30> buffer(minCapacity);
+ uprv_decNumberToString(fData, buffer.getAlias());
+ output.Append(buffer.getAlias(), static_cast<int32_t>(uprv_strlen(buffer.getAlias())));
+}
+
#endif /* #if !UCONFIG_NO_FORMATTING */