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