/// <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()); }
/// <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()); }