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