rubles
v3.0.0
Published
Стоимость прописью
Readme
rubles — стоимость прописью
Преобразует денежную сумму в строку прописью на русском языке: 12.1 превращается в «двенадцать рублей 10 копеек». Поддерживает российские и белорусские рубли. ESM-модуль без зависимостей, работает на сервере и в браузере.
Требования
Node.js ≥ 24. В браузере — любой сборщик с поддержкой ESM (Vite, webpack, esbuild).
Установите пакет
pnpm add rubles
# или: npm install rublesИспользуйте
Единственный именованный экспорт — функция rubles:
import { rubles } from 'rubles';
let text = rubles(12.1);
console.log(text); // двенадцать рублей 10 копеек
let text = rubles('52151,31');
console.log(text); // пятьдесят две тысячи сто пятьдесят один рубль 31 копейкаВ CommonJS пакет подключается через нативный require(ESM):
const { rubles } = require('rubles');Отдельный браузерный бандл не поставляется. В браузере импортируйте пакет как обычный ESM-модуль — сборщик включит его в вашу сборку.
Сигнатура
rubles(input, currencyCode?) → string | null| Параметр | Тип | Описание |
| -------------- | -------------------- | ----------------------------------------------------------------- |
| input | number | string | Сумма в рублях. Целая часть — рубли, дробная — копейки |
| currencyCode | string | Необязательный. Значение 'BYN' переключает на белорусские рубли |
Функция возвращает строку прописью либо null, если вход невалиден.
Формат результата: рубли прописью, название валюты, копейки двузначным числом и слово «копейка» в нужной форме. Копейки выводятся цифрами с ведущим нулём, а не прописью:
let text = rubles(1.05);
console.log(text); // один рубль 05 копеекЧислительные склоняются по числу — для рублей, копеек, тысяч, миллионов и миллиардов.
Белорусские рубли
Передайте 'BYN' вторым аргументом:
let text = rubles(44.2, 'BYN');
console.log(text); // сорок четыре белорусских рубля 20 копеек
let text = rubles(1, 'BYN');
console.log(text); // один белорусский рубль 00 копеекТестирование
pnpm testАвтор
Лицензия
MIT. Смотрите файл LICENSE.
