Почему при выводе суммы прописью не выводит последние число C#
При выводе на пример 35 пишет тридцать Помогите с скриптом на C# private void tableCell100_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
string text = Convert.ToString(tableCell53.Text);
int number = Convert.ToInt32(text);
//int number = 1258;
int[] array_int = new int[4];
string[,] array_string = new string[4, 3] {{" миллиард", " миллиарда", " миллиардов"},
{" миллион", " миллиона", " миллионов"},
{" тысяча", " тысячи", " тысяч"},
{"", "", ""}};
array_int[0] = (number - (number % 1000000000)) / 1000000000;
array_int[1] = ((number % 1000000000) - (number % 1000000)) / 1000000;
array_int[2] = ((number % 1000000) - (number % 1000)) / 1000;
array_int[3] = number % 1000;
string result = "";
for (int i = 0; i < 4; i++)
{
if (array_int[i] != 0)
{
if (((array_int[i] - (array_int[i] % 100)) / 100) != 0)
switch (((array_int[i] - (array_int[i] % 100)) / 100))
{
case 1: result += " сто"; break;
case 2: result += " двести"; break;
case 3: result += " триста"; break;
case 4: result += " четыреста"; break;
case 5: result += " пятьсот"; break;
case 6: result += " шестьсот"; break;
case 7: result += " семьсот"; break;
case 8: result += " восемьсот"; break;
case 9: result += " девятьсот"; break;
}
if (((array_int[i] % 100) - ((array_int[i] % 100) % 10)) / 10 != 1)
{
switch (((array_int[i] % 100) - ((array_int[i] % 100) % 10)) / 10)
{
case 2: result += " двадцать"; break;
case 3: result += " тридцать"; break;
case 4: result += " сорок"; break;
case 5: result += " пятьдесят"; break;
case 6: result += " шестьдесят"; break;
case 7: result += " семьдесят"; break;
case 8: result += " восемьдесят"; break;
case 9: result += " девяносто"; break;
}
}
switch (array_int[i] % 100)
{
case 1: if (i == 2) result += " одна"; else result += " один"; break;
case 2: if (i == 2) result += " две"; else result += " два"; break;
case 3: result += " три"; break;
case 4: result += " четыре"; break;
case 5: result += " пять"; break;
case 6: result += " шесть"; break;
case 7: result += " семь"; break;
case 8: result += " восемь"; break;
case 9: result += " девять"; break;
case 10: result += " десять"; break;
case 11: result += " одиннадцать"; break;
case 12: result += " двенадцать"; break;
case 13: result += " тринадцать"; break;
case 14: result += " четырнадцать"; break;
case 15: result += " пятнадцать"; break;
case 16: result += " шестнадцать"; break;
case 17: result += " семнадцать"; break;
case 18: result += " восемннадцать"; break;
case 19: result += " девятнадцать"; break;
}
if (array_int[i] % 100 >= 10 && array_int[i] % 100 <= 19) result += " " + array_string[i, 2] + " ";
else switch (array_int[i] % 100)
{
case 1: result += " " + array_string[i, 0] + " "; break;
case 2:
case 3:
case 4: result += " " + array_string[i, 1] + " "; break;
case 5:
case 6:
case 7:
case 8:
case 9: result += " " + array_string[i, 2] + " "; break;
}
}
tableCell100.Text="Slownie: "+result;
}
}