Преобразовать число в текстовое представление - VB
Формулировка задачи:
Не могу понять , что и куда нужно добавить , при запуске данного макроса он показывает только целые числа и формате (20 , 9 и т.д.) Но должен выдавать и остальные . Пример : 45 , 25 и т.д.
Вот само задание : При разработке функции учтите следующее :
а)в любом месте функции можно организовать выход из процедуры по команде Exit Function.
б) числа в диапазоне от 11 до 19 имеют нестандартное текстовое представление.
в) для обработки числе > 19 , следует выделить старший разряд ( с помощью оператора деления нацело на 10 ) и младший разряд ( с помощью вычисления остатка от деления на 10). Для каждого разряда отдельно сформировать текстовое представление ( с помощью команд Select Case) а затем соединить их в одно строковое выражение ( с помощью оператора конкатенации)
Листинг программы
- Function Число2(N)
- 'функция для записи прописью целого числа N от 0 до 99
- 'Исключим число , не попадающее в заданный диапазон
- If N < 0 Or N > 99 Then Число2 = "Неверное число": Exit Function
- 'Исключим число , не являющееся целым. Для этого используем
- 'функцию Int, вычислящую целую часть числа
- If N - Int(N) <> 0 Then Число2 = "Неверное число": Exit Function
- Select Case N
- Case 0: Число2 = "ноль"
- Case 1: Число2 = "один"
- Case 2: Число2 = "два"
- Case 3: Число2 = "три"
- Case 4: Число2 = "четыре"
- Case 5: Число2 = "пять"
- Case 6: Число2 = "шесть"
- Case 7: Число2 = "семь"
- Case 8: Число2 = "восемь"
- Case 9: Число2 = "девять"
- Case 10: Число2 = "десять"
- Case 11: Число2 = "одиннадцать"
- Case 12: Число2 = "двенадцать"
- Case 13: Число2 = "тринадцать"
- Case 14: Число2 = "четырнадцать"
- Case 15: Число2 = "пятнадцать"
- Case 16: Число2 = "шеснадцать"
- Case 17: Число2 = "семнадцать"
- Case 18: Число2 = "восемнадцать"
- Case 19: Число2 = "девятнадцать"
- Case 20: Число2 = "двадцать"
- Case 30: Число2 = "тридцать"
- Case 40: Число2 = " сорок"
- Case 50: Число2 = "пятдесят"
- Case 60: Число2 = "шестьесят"
- Case 70: Число2 = "семьдесят"
- Case 80: Число2 = "восемьдесят"
- Case 90: Число2 = "девянносто"
- End Select
- End Function
Решение задачи: «Преобразовать число в текстовое представление»
textual
Листинг программы
- Option Explicit
- Private Sub Command1_Click()
- Dim N As Single
- N = InputBox("N =", , 25)
- MsgBox Число2(N)
- End Sub
- Function Число2(ByVal N As Single) As String
- 'функция для записи прописью целого числа N от 0 до 99
- Dim Nd As Integer, Ne As Integer
- 'Исключим число , не попадающее в заданный диапазон
- If N < 0 Or N > 99 Then Число2 = "Неверное число": Exit Function
- 'Исключим число , не являющееся целым. Для этого используем
- 'функцию Int, вычислящую целую часть числа
- If N - Int(N) <> 0 Then Число2 = "Неверное число": Exit Function
- If N > 20 And N Mod 10 <> 0 Then
- Ne = N Mod 10: Nd = N - Ne
- Число2 = Число2(Nd) & " " & Число2(Ne)
- End If
- Select Case N
- Case 0: Число2 = "ноль"
- Case 1: Число2 = "один"
- Case 2: Число2 = "два"
- Case 3: Число2 = "три"
- Case 4: Число2 = "четыре"
- Case 5: Число2 = "пять"
- Case 6: Число2 = "шесть"
- Case 7: Число2 = "семь"
- Case 8: Число2 = "восемь"
- Case 9: Число2 = "девять"
- Case 10: Число2 = "десять"
- Case 11: Число2 = "одиннадцать"
- Case 12: Число2 = "двенадцать"
- Case 13: Число2 = "тринадцать"
- Case 14: Число2 = "четырнадцать"
- Case 15: Число2 = "пятнадцать"
- Case 16: Число2 = "шеснадцать"
- Case 17: Число2 = "семнадцать"
- Case 18: Число2 = "восемнадцать"
- Case 19: Число2 = "девятнадцать"
- Case 20: Число2 = "двадцать"
- Case 30: Число2 = "тридцать"
- Case 40: Число2 = " сорок"
- Case 50: Число2 = "пятдесят"
- Case 60: Число2 = "шестьесят"
- Case 70: Число2 = "семьдесят"
- Case 80: Число2 = "восемьдесят"
- Case 90: Число2 = "девянносто"
- End Select
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д