rmb-capital
Version:
3 lines (2 loc) • 1.56 kB
JavaScript
var RmbCapital=function(t){"use strict";const n={capital_numbers:["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],integer_units:["","拾","佰","仟"],place_units:["","万","亿"],decimal_units:["角","分","厘","毫"],prefix:"人民币"};function e(t,e){const r={...n,...e||{}};let a=s(t,r),l=i(t,r);return a||l||(a+=r.capital_numbers[0]),a&&(a+="元"),l||(a+="整"),(t+"").trim().startsWith("-")&&(a="负"+a),r.prefix+a+l}function s(t,e){const s={...n,...e||{}},i=((t+"").trim().split(".")[0]||"").replace("-","");let r=[];const a=parseInt(i)?i.split("").reverse():[];let l=null;for(let t=0;t<a.length;t+=4){const n=a.slice(t,t+4),e=t/4,i=parseInt(n.join(""));if(0!==i&&!isNaN(i)){r.unshift(s.place_units[e]||"");for(const t in n){const e=parseInt(n[t]);e||l&&"0"!==t?(l=e,e&&r.unshift(s.integer_units[t]||""),r.unshift(s.capital_numbers[e]||"")):l=e}}}return r.join("")}function i(t,e){const s={...n,...e||{}},i=[],r=(t+"").trim().split("."),a=parseInt((r[0]||"").replace("-",""));let l=r[1]||"";const c=parseInt(l);(0===c||isNaN(c))&&(l="");const u=l.split(""),p=parseInt(u.shift()||"");p?(i.push(s.capital_numbers[p],s.decimal_units[0]),0===u.filter((t=>!!t)).length&&i.push("整")):u.filter((t=>!!t)).length>0&&a&&i.push(s.capital_numbers[0]);for(const t in u){const n=u[t];n&&i.push(s.capital_numbers[parseInt(n)],s.decimal_units[parseInt(t)+1])}return i.join("")}return t.convertDecimal=i,t.convertInteger=s,t.default=e,t.rmbCapital=e,Object.defineProperty(t,"__esModule",{value:!0}),t}({});
//# sourceMappingURL=rmb-capital.min.js.map