А что конкретно вам не понятно в этой задаче? Это не биржа фрилансеров и никто вам не будет делать готвого решения, поэтому задавая вопрос нужно показать как вы сами пытаетесь решить свою проблему, и вам покажут где вы не правы.
Ну давайте резберем вашу задачу на части. Это называется декомпозиция. Любые задачи нужно решать начиная с декомпозиции - разбиения на более простые подзадачи.
Итак, в чем проблема? Вам не ясно как число разбить на целую и дробную часть? Окей, ещё глубже декомпозируем: вам не ясно как отбросить дробную часть, чтобы получить число рублей? Или вам не ясно как получить целое число копеек?
Допустим это вы сделали. Что вам ещё не ясно? Как правильно согласовать два слова с числами?
Ну так в школе это изучается. Вроде ж всё просто. Есть всего три варианта: "рублей", "рубль", "рубля". Обычно эти варианты принято нумеровать: 0 - рублей, 1 - рубль, 2- рубля.
Да, с 2 до 4 - это то же самое, что 2 (рубля). Ноль, а также с 5 до 19 - это то же самое, что 0 (рублей). Осталось получить остаток от деления числа на 20, привести это к по формуле выше к одной и трёх цифр и получите нужный вариант словоформы.
Выходит для любого слова, которое нужно согласовать с числительным, нужно предусмотреть три варианта и сделать функцию, которая будет их правильно выбирать в зависимости от числа.
Да, там могут быть ещё варианты с падежами и родами, но это не про ваш случай.
Ок. что е вам ещё может быть не ясно? Как подставить в текстовый шаблон параметры?
Вопросы надо конкретизировать.