Function СуммаПрописью(Рубли)
' Вызов функции для получения числа прописью
Число = CStr(Fix(Рубли))
МужскойРод = Истина
СуммаПрописью = ЧислоПрописью(Число, МужскойРод)
' Строку с заглавной буквы
СуммаПрописью = UCase(Mid(СуммаПрописью, 1, 1)) + _
Mid(СуммаПрописью, 2)
' Вычислить длину исходного числа
Длина = Len(Число)
' Если число только из одной цифры, добавить
' до двух (для единообразия алгоритма)
If Длина = 1 Then
Число = "0" & Число
Длина = Длина + 1
End If
' Добавление нужного окончания строки
'
' Для чисел, оканчивающихся на 10, 11, 12, 13,
' 14, 15, 16, 17, 18, 19 добавляем "рублей"
If Mid(Число, Длина - 1, 1) = 1 Then
СуммаПрописью = СуммаПрописью + "рублей"
' Для всех остальных случаев
Else
Select Case Mid(Число, Длина)
' Для чисел, оканчивающихся на 1 добавляем "рубль"
Case 1
СуммаПрописью = СуммаПрописью + "рубль"
' Для чисел, оканчивающихся на 2, 3, 4
' добавляем "рубля"
Case 2, 3, 4
СуммаПрописью = СуммаПрописью + "рубля"
' Для чисел, оканчивающихся на 5, 6, 7, 8,
' 9, 0 добавляем "рублей"
Case Else
СуммаПрописью = СуммаПрописью + "рублей"
End Select
End If
' Считаем копейки
Переменная = (Рубли - Fix(Рубли)) * 100
If (Переменная - Fix(Переменная)) > 0.5 Then
Переменная = Fix(Переменная) + 1
Else
Переменная = Fix(Переменная)
End If
Копейки = CStr(Переменная)
' Окончательно формируем результат, добавляя копейки
If Len(Копейки) = 1 Then
Копейки = "0" + Копейки
End If
СуммаПрописью = СуммаПрописью + " " + Копейки + " "
' Для чисел, оканчивающихся на 10, 11, 12, 13,
' 14, 15, 16, 17, 18, 19 добавляем "копеек"
If Mid(Копейки, 1, 1) = 1 Then
СуммаПрописью = СуммаПрописью + "копеек"
' Для всех остальных случаев
Else
Select Case Mid(Копейки, 2)
' Для чисел, оканчивающихся на 1 добавляем "копейка"
Case 1
СуммаПрописью = СуммаПрописью + "копейка"
' Для чисел, оканчивающихся на 2, 3, 4
' добавляем "копеек"
Case 2, 3, 4
СуммаПрописью = СуммаПрописью + "копейки"
' Для чисел, оканчивающихся на 5, 6, 7, 8,
' 9, 0 добавляем "копеек"
Case Else
СуммаПрописью = СуммаПрописью + "копеек"
End Select
End If
End Function