Files
Rasadyar_FrontEnd/build/assets/num2persian-BIYy8amq.js
2026-01-19 15:40:45 +03:30

2 lines
2.4 KiB
JavaScript

const A=" و ",l="صفر",g="منفی ",t=[["","یک","دو","سه","چهار","پنج","شش","هفت","هشت","نه"],["ده","یازده","دوازده","سیزده","چهارده","پانزده","شانزده","هفده","هجده","نوزده","بیست"],["","","بیست","سی","چهل","پنجاه","شصت","هفتاد","هشتاد","نود"],["","یکصد","دویست","سیصد","چهارصد","پانصد","ششصد","هفتصد","هشتصد","نهصد"],[""," هزار"," میلیون"," میلیارد"," بیلیون"," بیلیارد"," تریلیون"," تریلیارد"," کوآدریلیون"," کادریلیارد"," کوینتیلیون"," کوانتینیارد"," سکستیلیون"," سکستیلیارد"," سپتیلیون"," سپتیلیارد"," اکتیلیون"," اکتیلیارد"," نانیلیون"," نانیلیارد"," دسیلیون"," دسیلیارد"]],p=["","دهم","صدم","هزارم","ده‌هزارم","صد‌هزارم","میلیونوم","ده‌میلیونوم","صدمیلیونوم","میلیاردم","ده‌میلیاردم","صد‌‌میلیاردم"],a=C=>{let u=C;return typeof u=="number"&&(u=u.toString()),u.length%3===1?u=`00${u}`:u.length%3===2&&(u=`0${u}`),u.replace(/\d{3}(?=\d)/g,"$&*").split("*")},h=C=>{if(parseInt(C,0)===0)return"";const u=parseInt(C,0);if(u<10)return t[0][u];if(u<=20)return t[1][u-10];if(u<100){const i=u%10,s=(u-i)/10;return i>0?t[2][s]+A+t[0][i]:t[2][s]}const r=u%10,o=(u-u%100)/100,F=(u-(o*100+r))/10,e=[t[3][o]],n=F*10+r;return n===0||(n<10?e.push(t[0][n]):n<=20?e.push(t[1][n-10]):(e.push(t[2][F]),r>0&&e.push(t[0][r]))),e.join(A)},N=C=>(C=C.replace(/0*$/,""),C===""?"":(C.length>11&&(C=C.substr(0,11))," ممیز "+f(C)+" "+p[C.length])),f=C=>{C=C.toString().replace(/[^0-9.-]/g,"");let u=!1;const r=parseFloat(C);if(isNaN(r)||r===0)return l;r<0&&(u=!0,C=C.replace(/-/g,""));let o="",F=C,e=C.indexOf(".");if(e>-1&&(F=C.substring(0,e),o=C.substring(e+1,C.length)),F.length>66)return"خارج از محدوده";const n=a(F),i=[];for(let s=0;s<n.length;s+=1){const c=h(n[s]);c!==""&&i.push(c+t[4][n.length-(s+1)])}return o.length>0&&(o=N(o)),(u?g:"")+i.join(A)+o};String.prototype.toPersianLetter=function(){return f(this)};Number.prototype.toPersianLetter=function(){return f(parseFloat(this).toString())};String.prototype.num2persian=function(){return f(this)};Number.prototype.num2persian=function(){return f(parseFloat(this).toString())};export{f as N};