Страница 1 из 1

Число прописью в женском роде

Добавлено: 12 июл 2024, 12:10
Fait
Скажите, коллеги, как сделать склонение числа прописью в женском роде?
Мне нужно в документе вывести прописью вес товара.
Если пользуюсь стандартной функцией, то выводится Один тонна, а нужно Одна тонна.
Я пользуюсь самописной функцией формирования числа прописью, которая вызывает функцию

Код: Выделить всё

NumberFormatter('ru', NumberFormatter::SPELLOUT);
Также в своей функции я склоняю слово тонна в зависимости от числа.
Но вот на слово Один тонна я повлиять не знаю как.

Re: Число прописью в женском роде

Добавлено: 13 июл 2024, 14:51
syrorybin
Один(а) тонна мб)

Re: Число прописью в женском роде

Добавлено: 13 июл 2024, 15:26
Fait
syrorybin писал(а): 13 июл 2024, 14:51 Один(а) тонна мб)
Нет, в документах так нельзя писать.
Должно быть чётко

Re: Число прописью в женском роде

Добавлено: 13 июл 2024, 18:37
support
Интересная задачка. Предлагаю следующее решение:
1) в includes\languages\num2str\ поместите прикрепленный файл ru_tonna.php
2) файл из архива num2str.zip замените в includes\classes\
3) В шаблонах можно указать опцию "Число прописью" и использовать:

Код: Выделить всё

${5:ru_tonna}
4) В пхп можно применить:

Код: Выделить всё

$val = $item["field_211"];
$num = new num2str();
$output_value = $num->convert('ru_tonna',$val,true);
field_211 замените на ID своего поля.

По аналогии с ru_tonna.php можно создавать файлы для любых единиц измерения, где "тонна" замените на нужно слово.
Первый параметр - это значения после плавающей точки, если не указано, не используются. Можно добавить "килограммы" если нужно.

Re: Число прописью в женском роде

Добавлено: 14 июл 2024, 15:55
Fait
Ооо, спасибо, Сергей!
Я опробую завтра, отпишусь, что как работает)

Re: Число прописью в женском роде

Добавлено: 15 июл 2024, 08:40
Fait
Всё работает, спасибо)
Дробную часть не учитывает правда.
Для числа 3.840 результат три тонны
Пока что я выделил дробную часть и пропустил отдельно через num2str.