示例#1
0
 /// <summary>
 /// Extract string representation of number.
 /// </summary>
 /// <param name="digits">Next proceed rank of digit.</param>
 protected string ExtractStringDigit(Digits digits)
 {
     Digit = QueueDigits.Dequeue();
     StackStringDigits.Push(GetName());
     if (QueueDigits.Count != 0)
     {
         digits.QueueDigits       = QueueDigits;
         digits.StackStringDigits = StackStringDigits;
         return(digits.Extract());
     }
     else
     {
         return(string.Join(" ", StackStringDigits));
     }
 }
示例#2
0
        public override string GetName()
        {
            if (Digit == 1)
            {
                string unit = StackStringDigits.Pop();
                string root = (unit != string.Empty) ? unit.Substring(0, 2) : "деc";
                if (StackStringDigits.Count != 0)
                {
                    string additionalWord = unit.Split(' ')[1];
                    return(twenty.FirstOrDefault(str => str.Contains(root)) + " " + additionalWord);
                }

                return(twenty.FirstOrDefault(str => str.Contains(root)) + " ");
            }

            return(tens[Digit]);
        }