private static string IntegralInWords(long val, UnitInfo info)
        {
            var r = new StringBuilder();

            if (val == 0)
            {
                r.Append("ноль ");
            }
            if (val % 1000 != 0)
            {
                r.Append(RusNumber.Str(val, info.Gender, string.Empty, string.Empty, string.Empty));
            }
            val /= 1000;
            r.Insert(0, RusNumber.Str(val, NounGender.Feminine, "тысяча", "тысячи", "тысяч"));
            val /= 1000;
            r.Insert(0, RusNumber.Str(val, NounGender.Masculine, "миллион", "миллиона", "миллионов"));
            val /= 1000;
            r.Insert(0, RusNumber.Str(val, NounGender.Masculine, "миллиард", "миллиарда", "миллиардов"));
            val /= 1000;
            r.Insert(0, RusNumber.Str(val, NounGender.Masculine, "триллион", "триллиона", "триллионов"));
            val /= 1000;
            r.Insert(0, RusNumber.Str(val, NounGender.Masculine, "триллиард", "триллиарда", "триллиардов"));
            r[0] = char.ToUpper(r[0]);
            return(r.ToString().Trim());
        }
        internal AmountInWords FractalUnitName()
        {
            if (_currencyInfo.Precision > 0)
            {
                _result.Add(RusNumber.Case(_fractalPart, _currencyInfo.MinorOne, _currencyInfo.MinorTwo, _currencyInfo.MinorFive));
            }

            return(this);
        }
 internal AmountInWords IntegralUnitName()
 {
     _result.Add(RusNumber.Case(_integralPart, _currencyInfo.MajorOne, _currencyInfo.MajorTwo, _currencyInfo.MajorFive));
     return(this);
 }