public static string Str(Int64 val, Boolean IsUpper = false, String seniorOne = "", String seniorTwo = "", String seniorFive = "") { bool minus = false; if (val < 0) { val = -val; minus = true; } int n = (int)val; int remainder = (int)((val - n + 0.005) * 100); StringBuilder r = new StringBuilder(); if (0 == n) { r.Append("0 "); } if (n % 1000 != 0) { r.Append(RusNumber.Str(n, true, seniorOne, seniorTwo, seniorFive)); } else { r.Append(seniorFive); } n /= 1000; r.Insert(0, RusNumber.Str(n, false, "тыс¤ча", "тыс¤чи", "тыс¤ч")); n /= 1000; r.Insert(0, RusNumber.Str(n, true, "миллион", "миллиона", "миллионов")); n /= 1000; r.Insert(0, RusNumber.Str(n, true, "миллиард", "миллиарда", "миллиардов")); n /= 1000; r.Insert(0, RusNumber.Str(n, true, "триллион", "триллиона", "триллионов")); n /= 1000; r.Insert(0, RusNumber.Str(n, true, "триллиард", "триллиарда", "триллиардов")); if (minus) { r.Insert(0, "минус "); } // r.Append(remainder.ToString("00 ")); // r.Append(RusNumber.Case(remainder, seniorOne, seniorTwo, seniorFive)); //ƒелаем первую букву заглавной if (IsUpper) { r[0] = char.ToUpper(r[0]); } return(r.ToString()); }
public static string Str(double val, bool male, string seniorOne, string seniorTwo, string seniorFive, string juniorOne, string juniorTwo, string juniorFive) { bool minus = false; if (val < 0) { val = -val; minus = true; } int n = (int)val; int remainder = (int)((val - n + 0.005) * 100); StringBuilder r = new StringBuilder(); if (0 == n) { r.Append("0 "); } if (n % 1000 != 0) { r.Append(RusNumber.Str(n, male, seniorOne, seniorTwo, seniorFive)); } else { r.Append(seniorFive); } n /= 1000; r.Insert(0, RusNumber.Str(n, false, "тысяча", "тысячи", "тысяч")); n /= 1000; r.Insert(0, RusNumber.Str(n, true, "миллион", "миллиона", "миллионов")); n /= 1000; r.Insert(0, RusNumber.Str(n, true, "миллиард", "миллиарда", "миллиардов")); n /= 1000; r.Insert(0, RusNumber.Str(n, true, "триллион", "триллиона", "триллионов")); n /= 1000; r.Insert(0, RusNumber.Str(n, true, "триллиард", "триллиарда", "триллиардов")); if (minus) { r.Insert(0, "минус "); } r.Append(remainder.ToString("00 ")); r.Append(RusNumber.Case(remainder, juniorOne, juniorTwo, juniorFive)); //Делаем первую букву заглавной r[0] = char.ToUpper(r[0]); return(r.ToString()); }
/// <summary> /// Перевод целого числа в строку /// </summary> /// <param name="val">Число</param> /// <returns>Возвращает строковую запись числа</returns> public static string Str(long val) { bool minus = false; if (val < 0) { val = -val; minus = true; } long n = (long)val; StringBuilder r = new StringBuilder(); if (0 == n) { r.Append("0 "); } if (n % 1000 != 0) { r.Append(RusNumber.Str(n, true, "", "", "")); } n /= 1000; r.Insert(0, RusNumber.Str(n, false, "тысяча", "тысячи", "тысяч")); n /= 1000; r.Insert(0, RusNumber.Str(n, true, "миллион", "миллиона", "миллионов")); n /= 1000; r.Insert(0, RusNumber.Str(n, true, "миллиард", "миллиарда", "миллиардов")); n /= 1000; r.Insert(0, RusNumber.Str(n, true, "триллион", "триллиона", "триллионов")); n /= 1000; r.Insert(0, RusNumber.Str(n, true, "квадриллион", "квадриллиона", "квадриллионов")); if (minus) { r.Insert(0, "минус "); } //Делаем первую букву заглавной r[0] = char.ToUpper(r[0]); return(r.ToString()); }
public static string Str(int val) { bool minus = false; if (val < 0) { val = -val; minus = true; } int n = (int)val; StringBuilder r = new StringBuilder(); if (0 == n) { r.Append("0 "); } if (n % 1000 != 0) { r.Append(RusNumber.Str(n, true, "")); } return(r.ToString()); }
public void RusNumberConstructorTest() { RusNumber target = new RusNumber(); Assert.Inconclusive("TODO: Implement code to verify target"); }