Конвертер цифровой формы числа в прописную форму числа с поддержкой склонения единиц измерения
- Пропись целых чисел: 230256 =〉двести тридцать тысяч двести пятьдесят шесть
- Пропись дробных чисел: 230256,515 =〉двести тридцать тысяч двести пятьдесят шесть целых пятьсот пятнадцать тысячных
- Пропись денежных сумм: 5,68 =〉пять рублей шестьдесят восемь копеек, 1 доллар 56 центов, два юаня 36 феней
- Подстановка единиц во множественную форму без прописи числа: 51 единица, 22 единицы, 5 единиц
- Пропись чисел со склонением любой единицы измерения (задаются 3 формы мн.ч. и род): двести пятьдесят шесть бутявок одна козявка
<script src="chislogon.js"></script>
console.log(chislogon.common('256'))
=> "двести пятьдесят шесть"
console.log(chislogon.common('000']))
=> ""
console.log(chislogon.common('251', ["f", "машина", "машины", "машин"]))
=> "двести пятьдесят одна машина"
console.log(chislogon.common('253', ["m", "автомобиль", "автомобиля", "автомобилей"]))
=> "двести пятьдесят три автомобиля"
console.log(chislogon.common('251', ["n", "окно", "окна", "окон"]))
=> "двести пятьдесят одно окно"
console.log(chislogon.common('000', ["m", "знак", "знака", "знаков"], "ничего"))
=> "ничего"
console.log(chislogon.common('2', ["f", "гвоздь", "гвоздя", "гвоздей"], false, true))
=> "2 гвоздя"
- 1 аргумент - число в строковом формате
- 2 аргумент - склонение единицы измерения: ["род", "форма для 1", " форма для 2-4", "форма для 4-9 и 0"]
- 3 аргумент - поведение единицы измерения при нуле: true - показывать, false - не показывать, "ноль" свой вариант
- 4 аргумент - (true/false) оставить число и просклонять только единицу измерения
- !!! Внимание, функция работает как с точкой, так и с запятой между целой и дробной частью
console.log(chislogon.decimal('256.89'))
=> "двести пятьдесят шесть целых восемьдесят девять сотых"
console.log(chislogon.decimal('1000256,001'))
=> "один миллион двести пятьдесят шесть целых одна тысячная"
console.log(chislogon.decimal('15454656532546,2454545455'))
=> "пятнадцать триллионов
четыреста пятьдесят четыре миллиарда
шестьсот пятьдесят шесть миллионов
пятьсот тридцать две тысячи
пятьсот сорок шесть целых
два миллиарда
четыреста пятьдесят четыре миллиона
пятьсот сорок пять тысяч
четыреста пятьдесят пять десятимиллиардных"
console.log(chislogon.decimal('0.0'))
=> ""
console.log(chislogon.decimal('1000256,001', {off_base:true, off_part:true}))
=> "1000256 целых 1 тысячная"
console.log(chislogon.decimal('0.0', {zero_base:true, zero_part:true}))
=> "ноль целых ноль десятых"
console.log(chislogon.decimal('0.0', {zero_base:true, zero_part:false}))
=> "ноль целых"
console.log(chislogon.decimal('0.0', {zero_base:false, zero_part:true}))
=> "ноль десятых"
console.log(chislogon.decimal('236,0', {zero_base:false, zero_part:"ровно"}))
=> "двести тридцать шесть целых ровно"
console.log(chislogon.currency('2562,01'))
=> "две тысячи пятьсот шестьдесят два рубля одна копейка"
console.log(chislogon.currency('1256.23', {off_part: true}))
=> "одна тысяча двести пятьдесят шесть рублей 23 копейки"
console.log(chislogon.currency('5665485.23', {off_base: true, off_part: true}))
=> "5665485 рублей 23 копейки"
console.log(chislogon.currency('2000252000.998', {currency: "CNY"}))
=> "два миллиарда двести пятьдесят две тысячи один юань"
console.log(chislogon.currency('2000252.56', {currency: "CNY"}))
=> "два миллиона двести пятьдесят два юаня пять цзяо шесть фэней"
console.log(chislogon.currency('0.82'))
=> "восемьдесят две копейки"
console.log(chislogon.currency('0.82', {zero_base:true}))
=> "ноль рублей восемьдесят две копейки"
console.log(chislogon.currency('236', {zero_part:"ровно"}))
=> "двести тридцать шесть рублей ровно"
console.log(chislogon.currency('2568.56', {currency:'USD', zero_part:"ровно"}))
=> "две тысячи пятьсот шестьдесят восемь долларов пятьдесят шесть центов"
console.log(chislogon.currency('1', {currency:'USD', zero_part:"ровно"}))
=> "один доллар ровно"
console.log(chislogon.currency('2156,22', {unit:{
base:["m","фертинг","фертинга","фертингов"],
part:["m","сантик","сантика","сантиков"]
}}))
=> "две тысячи сто пятьдесят шесть фертингов двадцать два сантика" (из "Незнайка на луне":-))
- Опция currency может принимать RUB, USD, EUR, CNY, KZT, UAH
- Опция unit - объект с двумя параметрами: base - список названий основной единицы (например, китайский "юань"), part - список названий 1/100 части основной единицы (например, китайский "фэнь") и part10 - список названий 1/10 части основной единицы (например, китайский "цзяо")
- Формат base, part и part10 - список из склонений единицы измерения: ["род", "форма для 1", " форма для 2-4", "форма для 4-9 и 0"]