Fix emulator build error
[platform/framework/web/chromium-efl.git] / base / i18n / number_formatting.h
1 // Copyright 2011 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef BASE_I18N_NUMBER_FORMATTING_H_
6 #define BASE_I18N_NUMBER_FORMATTING_H_
7
8 #include <stdint.h>
9
10 #include <string>
11
12 #include "base/i18n/base_i18n_export.h"
13
14 namespace base {
15
16 // Return a number formatted with separators in the user's locale.
17 // Ex: FormatNumber(1234567) => "1,234,567" in English, "1.234.567" in German
18 BASE_I18N_EXPORT std::u16string FormatNumber(int64_t number);
19
20 // Return a number formatted with separators in the user's locale, with
21 // `fractional_digits` digits after the decimal point.
22 // Ex: FormatDouble(1234567.8, 1)
23 //         => "1,234,567.8" in English, "1.234.567,8" in German
24 BASE_I18N_EXPORT std::u16string FormatDouble(double number,
25                                              int fractional_digits);
26
27 // Return a number formatted with separators in the user's locale, with up to
28 // `max_fractional_digits` digits after the decimal point, and eliminating
29 // trailing zeroes after `min_fractional_digits`.
30 // Ex: FormatDouble(1234567.8, 0, 4)
31 //         => "1,234,567.8" in English, "1.234.567,8" in German
32 // Ex: FormatDouble(1234567.888888, 0, 4)
33 //         => "1,234,567.8889" in English, "1.234.567,8889" in German
34 BASE_I18N_EXPORT std::u16string FormatDouble(double number,
35                                              int min_fractional_digits,
36                                              int max_fractional_digits);
37
38 // Return a percentage formatted with space and symbol in the user's locale.
39 // Ex: FormatPercent(12) => "12%" in English, "12 %" in Romanian
40 BASE_I18N_EXPORT std::u16string FormatPercent(int number);
41
42 // Causes cached formatters to be discarded and recreated. Only useful for
43 // testing.
44 BASE_I18N_EXPORT void ResetFormattersForTesting();
45
46 }  // namespace base
47
48 #endif  // BASE_I18N_NUMBER_FORMATTING_H_