forked from Humanizr/Humanizer
/
INumberToWordsConverter.cs
54 lines (49 loc) · 1.99 KB
/
INumberToWordsConverter.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
namespace Humanizer.Localisation.NumberToWords
{
/// <summary>
/// An interface you should implement to localise ToWords and ToOrdinalWords methods
/// </summary>
public interface INumberToWordsConverter
{
/// <summary>
/// Converts the number to string using the locale's default grammatical gender
/// </summary>
/// <param name="number"></param>
/// <returns></returns>
string Convert(long number);
/// <summary>
/// Converts the number to string using the locale's default grammatical gender with or without adding 'And'
/// </summary>
/// <param name="number"></param>
/// <param name="addAnd">Specify with our without adding "And"</param>
/// <returns></returns>
string Convert(long number, bool addAnd);
/// <summary>
/// Converts the number to string using the provided grammatical gender
/// </summary>
/// <param name="number"></param>
/// <param name="gender"></param>
/// <param name="addAnd"></param>
/// <returns></returns>
string Convert(long number, GrammaticalGender gender, bool addAnd = true);
/// <summary>
/// Converts the number to ordinal string using the locale's default grammatical gender
/// </summary>
/// <param name="number"></param>
/// <returns></returns>
string ConvertToOrdinal(int number);
/// <summary>
/// Converts the number to ordinal string using the provided grammatical gender
/// </summary>
/// <param name="number"></param>
/// <param name="gender"></param>
/// <returns></returns>
string ConvertToOrdinal(int number, GrammaticalGender gender);
/// <summary>
/// Converts integer to named tuple (e.g. 'single', 'double' etc.).
/// </summary>
/// <param name="number"></param>
/// <returns></returns>
string ConvertToTuple(int number);
}
}