UNPKG

num-tofixed

Version:

toFixed with Math.round,fixed the bug of original toFixed function

1 lines 1.44 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.toFixed=t():e.toFixed=t()}(this,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.i=function(e){return e},r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t){e.exports=function(e,t,r){var n=+e>=0;if(e+="",r=Boolean(r),e=e.replace(/^(?:-|\+)/gi,""),t>20||t<0)throw new RangeError("toFixed() digits argument must be between 0 and 20");if(/^\./gi.test(e)&&(e="0"+e),!/^\d+\.?\d*$/gi.test(e))throw new Error("toFixed() num argument must be a valid num");var o=e.split("."),u="",i=function(e,t){for(var r=0;r<t;r++)e+="0";return e},f=function(e,t){return e.length>=t?e.substr(0,t):i(e,t-e.length)};if(o.length<2)u=o[0]+"."+i("",t);else if(!1===r)u=o[0]+"."+f(o[1],t);else{var s=o[0]+f(o[1],t)+"."+o[1].substr(t);for(s=Math.round(s)+"";s.length<=t;)s="0"+s;u=s.substr(0,s.length-t)+"."+s.substr(s.length-t)}return u=u.replace(/\.$/gi,"").replace(/^\./gi,"0."),u=n?u:"-"+u}}])});