Exemple #1
0
        /// <summary>
        /// 10 000 рублей 67 копеек
        /// </summary>
        /// <param name="amount"></param>
        /// <returns></returns>
        public static string CurrencyToTxtShort(double amount, DigitItems rubles, DigitItems copecks)
        {
            //10 000 рублей 67 копеек
            long rublesAmount     = (long)Math.Floor(amount);
            long copecksAmount    = ((long)Math.Round(amount * 100)) % 100;
            int  lastRublesDigit  = lastDigit(rublesAmount);
            int  lastCopecksDigit = lastDigit(copecksAmount);

            string s = String.Format("{0:N0} ", rublesAmount) +
                       Declines.DeclineAny(lastRublesDigit, rubles) + " ";

            s += String.Format("{0:00} ", copecksAmount) + Declines.DeclineAny(lastCopecksDigit, copecks);

            return(s.Trim());
        }
Exemple #2
0
        /// <summary>
        /// 10 000 (Десять тысяч) рублей 67 копеек
        /// </summary>
        /// <param name="amount"></param>
        /// <param name="firstCapital"></param>
        /// <returns></returns>
        public static string CurrencyToTxtFull(double amount, bool firstCapital, DigitItems rubles, DigitItems copecks)
        {
            //10 000 (Десять тысяч) рублей 67 копеек
            long rublesAmount     = (long)Math.Floor(amount);
            long copecksAmount    = ((long)Math.Round(amount * 100)) % 100;
            int  lastRublesDigit  = lastDigit(rublesAmount);
            int  lastCopecksDigit = lastDigit(copecksAmount);

            string s = String.Format("{0:N0} ({1}) ", rublesAmount, NumeralsToTxt(rublesAmount, TextCase.Nominative, true, firstCapital)) +
                       Declines.DeclineAny(lastRublesDigit, rubles) + " ";

            s += String.Format("{0:00} ", copecksAmount) + Declines.DeclineAny(lastCopecksDigit, copecks);

            return(s.Trim());
        }