Index: base/i18n/number_formatting.cc |
diff --git a/base/i18n/number_formatting.cc b/base/i18n/number_formatting.cc |
index 6f454a0848bdb3aa7fe0c1d3f5aafbb04be58030..b5108334846099eb66d8913b905d61d3391b94f0 100644 |
--- a/base/i18n/number_formatting.cc |
+++ b/base/i18n/number_formatting.cc |
@@ -9,6 +9,7 @@ |
#include <memory> |
#include "base/format_macros.h" |
+#include "base/i18n/message_formatter.h" |
#include "base/lazy_instance.h" |
#include "base/logging.h" |
#include "base/strings/string_util.h" |
@@ -54,7 +55,7 @@ string16 FormatNumber(int64_t number) { |
if (!number_format) { |
// As a fallback, just return the raw number in a string. |
- return UTF8ToUTF16(StringPrintf("%" PRId64, number)); |
+ return ASCIIToUTF16(StringPrintf("%" PRId64, number)); |
} |
icu::UnicodeString ustr; |
number_format->format(number, ustr); |
@@ -68,7 +69,7 @@ string16 FormatDouble(double number, int fractional_digits) { |
if (!number_format) { |
// As a fallback, just return the raw number in a string. |
- return UTF8ToUTF16(StringPrintf("%f", number)); |
+ return ASCIIToUTF16(StringPrintf("%f", number)); |
} |
number_format->setMaximumFractionDigits(fractional_digits); |
number_format->setMinimumFractionDigits(fractional_digits); |
@@ -78,6 +79,11 @@ string16 FormatDouble(double number, int fractional_digits) { |
return string16(ustr.getBuffer(), static_cast<size_t>(ustr.length())); |
} |
+string16 FormatPercent(int number) { |
+ return i18n::MessageFormatter::FormatWithNumberedArgs( |
+ ASCIIToUTF16("{0,number,percent}"), static_cast<double>(number) / 100.0); |
+} |
+ |
namespace testing { |
void ResetFormatters() { |