Число процентов прописью - VB
Формулировка задачи:
Ребята подскажите где можно посмотреть как в VB6 прописать прописью сумму в процентах с десятыми и с сотыми, например (Триста шестьдесят пять целых пятьдесят пять сотых процентов готовых)
Решение задачи: «Число процентов прописью»
textual
Листинг программы
Function MProzProp$(chislo#) 'Автор MCH (Михаил Ч.), май 2012 Dim rub$, kop$, ed, des, sot, nadc, razr, i&, m$ Dim mm If chislo >= 1E+15 Or chislo < 0 Then Exit Function sot = Array("", "сто ", "двести ", "триста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот ") des = Array("", "", "двадцать ", "тридцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят ", "девяносто ") nadc = Array("десять ", "одиннадцать ", "двенадцать ", "тринадцать ", "четырнадцать ", "пятнадцать ", "шестнадцать ", "семнадцать ", "восемнадцать ", "девятнадцать ") ed = Array("", "один ", "два ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ", "", "одна ", "две ") razr = Array("триллион ", "триллиона ", "триллионов ", "миллиард ", "миллиарда ", "миллиардов ", "миллион ", "миллиона ", "миллионов ", "тысяча ", "тысячи ", "тысяч ", "целая ", "целых ", "целых ") rub = Left(Format(chislo, "000000000000000.00"), 15) kop = Right(Format(chislo, "0.00"), 2) m = "" If CDbl(rub) = 0 Then m = "ноль " For i = 1 To Len(rub) Step 3 If Mid(rub, i, 3) <> "000" Or i = Len(rub) - 2 Then m = m & sot(CInt(Mid(rub, i, 1))) & IIf(Mid(rub, i + 1, 1) = "1", nadc(CInt(Mid(rub, i + 2, 1))), _ des(CInt(Mid(rub, i + 1, 1))) & ed(CInt(Mid(rub, i + 2, 1)) + IIf(i = Len(rub) - 5 And CInt(Mid(rub, i + 2, 1)) < 3, 10, 0))) & _ IIf(Mid(rub, i + 1, 1) = "1" Or (Mid(rub, i + 2, 1) + 9) Mod 10 >= 4, razr(i + 1), IIf(Mid(rub, i + 2, 1) = "1", razr(i - 1), razr(i))) End If Next i If Mid(kop, i, 2) <> "00" Then mm = IIf(Mid(kop, 1, 1) = "1", nadc(CInt(Mid(kop, 1, 1))), des(CInt(Mid(kop, 1, 1))) & ed(CInt(Mid(kop, 2, 1)))) End If MProzProp = UCase(Left(m, 1)) & Mid(m, 2) & mm & " сот" & IIf(kop \ 10 = 1 Or ((kop + 9) Mod 10) >= 4, "ых", IIf(kop Mod 10 = 1, "ая", "ых")) & " процента" End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д