По теме из базы знаний
Найденные решения
(12) Да, есть там маленькая засада. Вот, придумал...
Исходное число - СуммаНаФорме, результат прописью - СуммаНаФормеПрописью .
СуммаРубли = Цел(СуммаНаФорме);
СуммаКопейки = (СуммаНаФорме - СуммаРубли);
РублиЧислом = Формат(СуммаРубли, "ЧДЦ=0; ЧГ=0");
РублиПрописью = ЧислоПрописью(СуммаРубли, "Л = ru_RU; НД = Ложь", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 0");
КопейкиПрописью = Сред(ЧислоПрописью(СуммаКопейки, "Л = ru_RU; НП = Ложь", ",,,, копейка, копейки, копеек, ж, 2"), 6);
СуммаНаФормеПрописью = РублиЧислом + " (" + РублиПрописью + ") " + КопейкиПрописью;
Прикрепленные файлы:

Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) по идее, внутри справочника валюты надо указывать "параметры прописи" для склонения.
использовать либо "ЧислоПрописью", либо свою функцию, которая собирает сумму прописью по кускам
использовать либо "ЧислоПрописью", либо свою функцию, которая собирает сумму прописью по кускам
// Пример форматной строки для вывода числа прописью на русском
// языке, с выводом целой и дробной части прописью и выводом
// предмета исчисления.
ФормСтрока = "Л = ru_RU; ДП = Истина";
ПарПредмета="доллар,доллара,долларов,м,цент,цента,центов,м,2";
ПрописьЧисла = ЧислоПрописью(2341.56, ФормСтрока, ПарПредмета);
// Результат вычисления:
// "Две тысячи триста сорок один доллар пятьдесят шесть центов"
Показать
(6)
механизм вроде понятен, наверно....
15000 (Пятнадцать тысяч рублей) 00 - это всё я смог получить.
Но как просклонять "копейка" к их количеству?
01 - копейка
02 - копейки
и т.д.
У меня основным-то вопросом был этот.
Вот это пока никак у меня не получается.
Вот думаю, а не придётся ли по "Если" прогнать все окончания количества....
механизм вроде понятен, наверно....
15000 (Пятнадцать тысяч рублей) 00 - это всё я смог получить.
Но как просклонять "копейка" к их количеству?
01 - копейка
02 - копейки
и т.д.
У меня основным-то вопросом был этот.
Вот это пока никак у меня не получается.
Вот думаю, а не придётся ли по "Если" прогнать все окончания количества....
(12) Да, есть там маленькая засада. Вот, придумал...
Исходное число - СуммаНаФорме, результат прописью - СуммаНаФормеПрописью .
СуммаРубли = Цел(СуммаНаФорме);
СуммаКопейки = (СуммаНаФорме - СуммаРубли);
РублиЧислом = Формат(СуммаРубли, "ЧДЦ=0; ЧГ=0");
РублиПрописью = ЧислоПрописью(СуммаРубли, "Л = ru_RU; НД = Ложь", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 0");
КопейкиПрописью = Сред(ЧислоПрописью(СуммаКопейки, "Л = ru_RU; НП = Ложь", ",,,, копейка, копейки, копеек, ж, 2"), 6);
СуммаНаФормеПрописью = РублиЧислом + " (" + РублиПрописью + ") " + КопейкиПрописью;
Прикрепленные файлы:

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот