UNPKG

number_format-php

Version:

Ported PHP function 'number_format' in JavsScript

5 lines 1.13 kB
/*! * Ported PHP function "number_format" in JavsScript * Homepage: https://github.com/tasofen/number_format-node */ !function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t():e.number_format=t()}(this,function(){return function(e,t,n,r){t=t||0,n=n||".",""!==r&&(r=r||","),"number"!=typeof e&&(e=parseFloat(e));var o=e<0?"-":"",u="";if(e=Math.abs(e),0==t)return u=i(Math.round(e),r),o&&0<u.replace(/[0.]/g,"").length?o+u:u;var f=(""+e).split(".");return 1==f.length&&f.push(""),f[1]=function(e,t){var n=(e+="").split("");if(n.length>t){n=n.splice(0,t+1);for(var r,o=0,u=n.length-1;0<=u;--u)if(r=parseInt(n[u]),n.length-1==u&&5<=r)o=1;else{if(o+r!=10){n[u]=r+1,o=0;break}n[u]=0}o&&n.unshift(1),n.pop()}else for(;n.length<t;)n.push(0);return n.join("")}(f[1],t),f[1].length>t&&(f[0]=parseInt(f[0])+1,f[1]=f[1].substr(1)),f[0]=i(f[0],r),u=t?f.join(n):f[0],o&&0<u.replace(/[0.]/g,"").length&&(u=o+u),u};function i(e,t){e+="";for(var n=[];3<e.length;)n.unshift(e.substr(e.length-3)),e=e.substr(0,e.length-3);return e.length&&n.unshift(e),n.join(t)}});