Example #1
0
        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());
        }
Example #2
0
        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());
        }
Example #3
0
        /// <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());
        }
Example #4
0
        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());
        }
Example #5
0
 public void RusNumberConstructorTest()
 {
     RusNumber target = new RusNumber();
     Assert.Inconclusive("TODO: Implement code to verify target");
 }