Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/55: Рейтинг темы: голосов - 55, средняя оценка - 4.78
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662

Число процентов прописью

27.09.2017, 11:27. Показов 10547. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята подскажите где можно посмотреть как в VB6 прописать прописью сумму в процентах с десятыми и с сотыми, например (Триста шестьдесят пять целых пятьдесят пять сотых процентов готовых)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.09.2017, 11:27
Ответы с готовыми решениями:

Вывести число прописью
С клавиатуры вводится двузначное число. Вывести на на форму в словесной записи. Например 41 - сорок один помогите пожалуйста)

программа на возраст: число прописью
помогите решить задачу! в текстовое поле введено натурально число n (n<0), определяющее возраст человека в годах. вывести в другое...

Придумал ! написать число прописью с 60 знаками
до октодециллиона (с трудом можно выговорить :)) примерно такое же количество всех элементарных частиц на солнце готовый алгоритм...

21
28 / 28 / 4
Регистрация: 07.06.2017
Сообщений: 166
29.09.2017, 11:10
А если использовать функцию "пропись" для целых?

Например, есть число 125,57. Функция "пропись" переведет в пропись 125 - сто двадцать пять.
Далее, аналогично, 57 переводим в пятьдесят семь.
Дело за малым - написать слова "целых(ая)", "десятых(ая)", "сотых(ая)".
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
03.10.2017, 10:14
Лучший ответ Сообщение было отмечено gaw как решение

Решение

или в функции сумма прописью заменить рублей на целых а копеек на сотых(десятых)

Добавлено через 47 минут
4.50 Четыре целых пятьдесят сотых процента
84,917.90 Восемьдесят четыре тысячи девятьсот семнадцать целых девяносто сотых процента
с десятыми лениво возиться. а так основа функции 'Автор MCH (Михаил Ч.)

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
06.10.2017, 15:15  [ТС]
Простите за тупость, а что на кнопку то вешать?

Добавлено через 11 минут
извините все получилось, только один нюанс (0,9 - пишет Ноль целых девяносто сотых процента) но это ведь (девять десятых)
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
07.10.2017, 12:50  [ТС]
все таки у меня ни чего не получилось, прошу, помощи в данном вопросе.
Вложения
Тип файла: rar пример.rar (2.1 Кб, 7 просмотров)
0
-12 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 145
07.10.2017, 21:41
Не знаю, как там проценты, а Рубли вот-так :
Вложения
Тип файла: rar 55.rar (15.3 Кб, 7 просмотров)
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
08.10.2017, 12:39
ASSEI,
Просто скопируй код с сайта в модуль!
Миниатюры
Число процентов прописью  
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
08.10.2017, 12:43
В твоём проекте в модуле закомментированы 2 строки!
Думаешь они там лишние?
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
08.10.2017, 19:07  [ТС]
думаю да для того что мне требуется достаточно , в сущности требуется от 0,2%, 0,22, .... до 1,5%

Добавлено через 8 минут
вы правы ошибался! а что сделать с десятыми 0,9 (ноль целых девять десятых)
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
09.10.2017, 01:12
Переделать функцию. Добавить условие проверки на 0 в конце и дописать код.
Или тупо в конце сделать подмены типа
Visual Basic
1
 MProzProp= Replace(MProzProp, "пятьдесят сотых","пять десятых")
и так для всех десятков
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
09.10.2017, 10:07  [ТС]
Нет, как ни говорите пока далеко до такого уровня, возможно как то в готовом виде? буду признателен вам за уделенное время.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
09.10.2017, 23:50
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Function MProzProp$(chislo#) 'Автор MCH (Михаил Ч.), май 2012
    Dim rub$, kop$, ed, des, sot, nadc, razr, i&, m$
    Dim mm
    Dim edd
 
    If chislo >= 1E+15 Or chislo < 0 Then Exit Function
    
    sot = Array("", "сто ", "двести ", "триста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот ")
    des = Array("", "", "двадцать ", "тридцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят ", "девяносто ")
    nadc = Array("десять ", "одиннадцать ", "двенадцать ", "тринадцать ", "четырнадцать ", "пятнадцать ", "шестнадцать ", "семнадцать ", "восемнадцать ", "девятнадцать ")
    ed = Array("", "один ", "две ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ", "", "одна ", "две ")
    edd = Array("", "однa ", "две ", "три ", "четыре ", "пять ", "шесть ", "семь ", "восемь ", "девять ", "", "одна ", "две ")
    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, 2, 1) <> "0" Then
        mm = IIf(Mid(kop, 1, 1) = "1", nadc(CInt(Mid(kop, 2, 1))), des(CInt(Mid(kop, 1, 1))) & edd(CInt(Mid(kop, 2, 1))))
           MProzProp = UCase(Left(m, 1)) & Mid(m, 2) & mm & "сот" & IIf(kop \ 10 = 1 Or ((kop + 9) Mod 10) >= 4, "ых", IIf(kop Mod 10 = 1, "ая", "ых")) & " процента"
    Else
        mm = edd(CInt(Mid(kop, 1, 1)))
            MProzProp = UCase(Left(m, 1)) & Mid(m, 2) & mm & "десят" & IIf(kop = 10, "ая", "ых") & " процента"
    End If
End Function
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
10.10.2017, 09:36  [ТС]
Цитата Сообщение от Alex77755 Посмотреть сообщение
mm = edd(CInt(Mid(kop, 1, 1)))
на строке ругается
Вложения
Тип файла: rar пример.rar (2.1 Кб, 5 просмотров)
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
10.10.2017, 09:42  [ТС]
извините не тот пример вложил
Вложения
Тип файла: rar пример1.rar (2.1 Кб, 3 просмотров)
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
10.10.2017, 13:43
Даже не буду искать ошибки! Проверял и вчера и только что - работат
Миниатюры
Число процентов прописью  
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
10.10.2017, 13:54
Научись пользоваться копипастом!!!

Добавлено через 2 минуты
В твоём проекте в модуле закомментированы 2 строки!
Думаешь они там лишние?
думаю да для того что мне требуется достаточно , в сущности требуется от 0,2%, 0,22, .... до 1,5%
Если думаешь, то не задавай глупых вопросов?
В твоём примере опять не все строки!!!
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
10.10.2017, 14:03  [ТС]
две ошибки я сам нашел, но есть еще недочеты, буду пытаться сам, ни чего не поделаешь.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
10.10.2017, 15:37
рабочий проект
Вложения
Тип файла: rar проценты прописью.rar (836 байт, 8 просмотров)
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
11.10.2017, 09:03  [ТС]
сдается мне что то в этом проекте не хватат!
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
11.10.2017, 22:50
Ага! Модуля
Вложения
Тип файла: rar Module3.rar (957 байт, 5 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.10.2017, 22:50
Помогаю со студенческими работами здесь

Число прописью
написать программу, которая после введенного с клавиатуры числа(диапозон от 1 до 999), обозначающего денежную единицу, дописывает слово...

Число прописью
помогите написать прогу которая б переводила любое число записаное так &quot;1&quot;....&quot;14&quot;...&quot;147&quot; в етоже число но записаное...

Число прописью
Здравствуйте! Помогите пожалуйста с моей проблемой. Нашел код для преобразования числа прописью, но при проверки даёт ошибки при вводе...

Число прописью
Добрый день! Нашел в инете программу преобразующую число в текст с рублями и копейками. Всё бы хорошо но рубли и копейки пишутся кратко...

Число прописью
Помогите написать программу, которая принимает от пользователя строку, хранящую знаковое целое число и выводит на экран строковый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru