В одном из php приложений, которое я разрабатывал менеджеру понадобился скрипт, который на лету переводил бы напечатанные им цифры в специальном поле в слова (числительные). Например, 120 перевел бы как "Сто двадцать рублей 00 копеек". Используем готовое решение для реализации такой задачи.
Чтобы сумма писалась прописью необходимо использовать java script, который в зависимости от числа правильно выбирал не только окончания выражений, но и подбирал, где писать десятки, сотни, тысячи миллионы.
Скрипт, который предлагаю скачать решает все эти задачи на ура. Проверял его при написании тысяч и миллионов - работает вполне корректно с окончаниями и всеми числительными. Изначально срипту не требуется наличие jQuery библиотеки, но в моем примере ее нужно подключить, чтобы при написании в поле своего числа, результат мгновенно выводился в теге, в виде слов.
Пример вывода записей:
document.write(FloatToSamplesInWordsRus(parseFloat(10.04)));
document.write(FloatToSamplesInWordsRus(parseFloat(10.2)));
document.write(FloatToSamplesInWordsRus(parseFloat(431)));
В первых двух примерах цена выводится с копейками, в последнем, сумму можно писать и вовсе целым числом. Тогда цена выведется словами с 00 копеек.
По синтаксису легко понять, что для вывода цены прописью достаточно использовать синтаксис функции:
FloatToSamplesInWordsRus(parseFloat(ВАША_ЦЕНА_В_ЦИФРАХ))
Если вам в скрипте нужно будет написать что-то после копеек, например, "без НДС", то исправьте 52 строку на:
var objKop = { _Gender : false, _arrStates : ["копейка без НДС", "копейки без НДС", "копеек без НДС"] };