UNPKG

rubles

Version:

Стоимость прописью

1 lines 2.05 kB
!function(){"use strict";var r,t=[["","один","два","три","четыре","пять","шесть","семь","восемь","девять","десять","одиннадцать","двенадцать","тринадцать","четырнадцать","пятнадцать","шестнадцать","семнадцать","восемнадцать","девятнадцать"],["","","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"],["","сто","двести","триста","четыреста","пятьсот","шестьсот","семьсот","восемьсот","девятьсот"]],e=function(r){return parseFloat(r)},n=function(r,t){if(3!==t.length)return!1;r=Math.abs(r)%100;var e=r%10;return r>10&&20>r?t[2]:e>1&&5>e?t[1]:1===e?t[0]:t[2]},u=function(r,u){var s,i,a="";return 3===r.length&&(s=r.substr(0,1),r=r.substr(1,3),a=""+t[2][s]+" "),20>r?a=a+t[0][e(r)]+" ":(s=r.substr(0,1),i=r.substr(1,2),a=a+t[1][s]+" "+t[0][i]+" "),0===u?a+=n(r,["рубль","рубля","рублей"]):1===u?" "!==a&&(a+=n(r,["тысяча ","тысячи ","тысяч "]),a=a.replace("один ","одна ").replace("два ","две ")):2===u?" "!==a&&(a+=n(r,["миллион ","миллиона ","миллионов "])):3===u&&(a+=n(r,["миллиард ","миллиарда ","миллиардов "])),a},s=function(r){var t=n(r,["копейка","копейки","копеек"]);return 0===r?r="00":10>r&&(r="0"+r)," "+r+" "+t},i=function(r){if(!r)return!1;var t=typeof r;if("number"!==t&&"string"!==t)return!1;if("string"===t&&(r=e(r.replace(",",".")),isNaN(r)))return!1;if(0>=r)return!1;var n,i;r=r.toFixed(2),-1!==r.indexOf(".")&&(n=r.split("."),r=n[0],i=n[1]);for(var a,f="",l=r.length-1,o="",c=0;l>=0;)a=r.substr(l,1),o=a+o,3!==o.length&&0!==l||isNaN(e(o))||(f=u(o,c)+f,o="",c++),l--;return f=f.replace(/\s+/g," "),i&&(f+=s(e(i))),f};r="undefined"!=typeof module&&null!==module?exports:window,r.rubles=i}();