private void CheckTextMillons(StringBuilder phrase) { String aux = ""; if (!phrase.Equals("") && ParamMillions.Length > 6) { if (digits.Count.Equals(2)) { aux = ParamMillions.ToString().Substring(0, Iter - (digits[0].ToString().Length + digits[1].ToString().Length) + 1); CheckAppearTimesMillons(aux); } else { aux = ParamMillions.ToString().Substring(0, ParamMillions.Length - digits[0].ToString().Length + 1); CheckAppearTimesMillons(aux); } } }
private void WriteNumber(string number) { StringBuilder phrase = new StringBuilder(""); StringBuilder alternative = new StringBuilder(""); digits.Insert(0, number); for (int i = 0; i < number.Length; i++) { Iter++; ParamThousands++; if (ParamMillions.Length < Iter) { ParamMillions.Append("0"); } if (!phrase.Equals(new StringBuilder("")) && !number[i].ToString().Equals("0")) { phrase.Append(" e "); } if (!alternative.Equals(new StringBuilder("")) && !number[i].ToString().Equals("0")) { alternative.Append(" e "); } if ((number.Length - 1 - i) > 1) { if (number[i].ToString().Equals("1") && (!number[i + 1].ToString().Equals("0") || !number[i + 2].ToString().Equals("0"))) { phrase.Append("cento"); alternative.Append("cento"); } else { if (hundreds.ContainsKey(number[i].ToString() + "00")) { phrase.Append(hundreds[number[i].ToString() + "00"]); alternative.Append(hundreds[number[i].ToString() + "00"]); } } } else if ((number.Length - 1 - i) == 1) { if (number[i].ToString().Equals("1")) { if (number[i + 1].ToString().Equals("0")) { phrase.Append(tens[number[i].ToString() + number[i + 1].ToString()]); alternative.Append(tens[number[i].ToString() + number[i + 1].ToString()]); } else { if (number[i + 1].ToString().Equals("4")) { alternative.Append(alternativeSpecials[number[i].ToString() + number[i + 1].ToString()]); } else { alternative.Append(specials[number[i].ToString() + number[i + 1].ToString()]); } phrase.Append(specials[number[i].ToString() + number[i + 1].ToString()]); } i++; Iter++; ParamThousands++; if (ParamMillions.Length < Iter) { ParamMillions.Append("0"); } } else { if (tens.ContainsKey(number[i].ToString() + "0")) { phrase.Append(tens[number[i].ToString() + "0"]); alternative.Append(tens[number[i].ToString() + "0"]); } } } else { if (units.ContainsKey(number[i].ToString())) { phrase.Append(units[number[i].ToString()]); alternative.Append(units[number[i].ToString()]); } } } phrase = CheckTextThousands(phrase); alternative = CheckTextThousands(alternative); CheckTextMillons(phrase); ResetParameters(); InsertSentence(sentence, phrase.ToString()); InsertSentence(alternativeSentence, alternative.ToString()); }