// Token: 0x060001B6 RID: 438 RVA: 0x00008E74 File Offset: 0x00007074 private static void CollectParts(ICollection <string> parts, ref int number, int divisor, GrammaticalGender gender, params string[] forms) { if (number < divisor) { return; } int result = number / divisor; number %= divisor; RussianNumberToWordsConverter.CollectPartsUnderOneThousand(parts, result, gender); parts.Add(RussianNumberToWordsConverter.ChooseOneForGrammaticalNumber(result, forms)); }
// Token: 0x060001B2 RID: 434 RVA: 0x00008AC8 File Offset: 0x00006CC8 public override string Convert(long input, GrammaticalGender gender) { if (input > 2147483647L || input < -2147483648L) { throw new NotImplementedException(); } int number = (int)input; if (number == 0) { return("ноль"); } List <string> parts = new List <string>(); if (number < 0) { parts.Add("минус"); number = -number; } RussianNumberToWordsConverter.CollectParts(parts, ref number, 1000000000, GrammaticalGender.Masculine, new string[] { "миллиард", "миллиарда", "миллиардов" }); RussianNumberToWordsConverter.CollectParts(parts, ref number, 1000000, GrammaticalGender.Masculine, new string[] { "миллион", "миллиона", "миллионов" }); RussianNumberToWordsConverter.CollectParts(parts, ref number, 1000, GrammaticalGender.Feminine, new string[] { "тысяча", "тысячи", "тысяч" }); if (number > 0) { RussianNumberToWordsConverter.CollectPartsUnderOneThousand(parts, number, gender); } return(string.Join(" ", parts)); }
// Token: 0x060001B7 RID: 439 RVA: 0x00008EA8 File Offset: 0x000070A8 private static void CollectOrdinalParts(ICollection <string> parts, ref int number, int divisor, GrammaticalGender gender, string prefixedForm, params string[] forms) { if (number < divisor) { return; } int result = number / divisor; number %= divisor; if (number != 0) { RussianNumberToWordsConverter.CollectPartsUnderOneThousand(parts, result, gender); parts.Add(RussianNumberToWordsConverter.ChooseOneForGrammaticalNumber(result, forms)); return; } if (result == 1) { parts.Add(prefixedForm); return; } parts.Add(RussianNumberToWordsConverter.GetPrefix(result) + prefixedForm); }