number_formatting.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright (c) 2011 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef BASE_I18N_NUMBER_FORMATTING_H_
  5. #define BASE_I18N_NUMBER_FORMATTING_H_
  6. #include <stdint.h>
  7. #include "base/i18n/base_i18n_export.h"
  8. #include "base/strings/string16.h"
  9. namespace base {
  10. // Return a number formatted with separators in the user's locale.
  11. // Ex: FormatNumber(1234567) => "1,234,567" in English, "1.234.567" in German
  12. BASE_I18N_EXPORT string16 FormatNumber(int64_t number);
  13. // Return a number formatted with separators in the user's locale.
  14. // Ex: FormatDouble(1234567.8, 1)
  15. // => "1,234,567.8" in English, "1.234.567,8" in German
  16. BASE_I18N_EXPORT string16 FormatDouble(double number, int fractional_digits);
  17. // Return a percentage formatted with space and symbol in the user's locale.
  18. // Ex: FormatPercent(12) => "12%" in English, "12 %" in Romanian
  19. BASE_I18N_EXPORT string16 FormatPercent(int number);
  20. // Causes cached formatters to be discarded and recreated. Only useful for
  21. // testing.
  22. BASE_I18N_EXPORT void ResetFormattersForTesting();
  23. } // namespace base
  24. #endif // BASE_I18N_NUMBER_FORMATTING_H_