@bizhermit/basic-utils
Version:
basic types utilities
1 lines • 2.14 kB
JavaScript
;var NumberUtils;Object.defineProperty(exports,"__esModule",{value:!0}),exports.ceil=exports.floor=exports.round=exports.minus=exports.adds=exports.add=exports.numFormat=void 0,function(e){e.isNumber=e=>"number"==typeof e,e.isNull=e=>null==e,e.format=(e,r)=>{if(null==e||"number"!=typeof e)return;let t=e.toString(10);const n=t.split(".");t=!1!==r?.thou?n[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"):n[0];const o=n[1]||"";if(r?.fpad){t+="."+o;const e=r.fpad-o.length;e>0&&(t+="0".repeat(e))}else o&&(t+="."+o);return t},e.removeThousandsSeparator=e=>{if(null!=e&&0!==e.length)return"number"==typeof e?e:Number(e.replace(/,/g,""))},e.add=(r,t)=>{if(null==t)return r??0;if(null==r)return t??0;const n=e.getFloatPosition(r),o=e.getFloatPosition(t),l=Math.max(n,o);return(Number((String(r)+"0".repeat(l-n)).replace(".",""))+Number((String(t)+"0".repeat(l-o)).replace(".","")))/Math.pow(10,l)},e.adds=(...r)=>{if(0===r.length)return 0;if(1===r.length)return r[0]??0;let t=r[0]??0;for(let n=1,o=r.length;n<o;n++)t=e.add(t,r[n]);return t},e.minus=(r,t)=>{if(null==t)return r??0;if(null==r)return-t??0;const n=e.getFloatPosition(r),o=e.getFloatPosition(t),l=Math.max(n,o);return(Number((String(r)+"0".repeat(l-n)).replace(".",""))-Number((String(t)+"0".repeat(l-o)).replace(".","")))/Math.pow(10,l)},e.getFloatPosition=e=>{if(null==e)return 0;const r=String(e);return r.indexOf(".")<0?0:r.length-1-r.lastIndexOf(".")},e.round=(e,r=0)=>{if(null==e)return e;const t=Math.pow(10,r);return Math.round(e*t)/t},e.ceil=(e,r=0)=>{if(null==e)return e;const t=Math.pow(10,r);return Math.ceil(e*t)/t},e.floor=(e,r=0)=>{if(null==e)return e;const t=Math.pow(10,r);return Math.floor(e*t)/t},e.average=(...r)=>{let t=0,n=0;return r.forEach((r=>{null!=r&&(t=e.add(t,r),n++)})),t/n},e.nullZeroAverage=(...r)=>{let t=0,n=0;return r.forEach((r=>{t=e.add(t,r??0),n++})),t/n}}(NumberUtils||(NumberUtils={})),exports.default=NumberUtils,exports.numFormat=NumberUtils.format,exports.add=NumberUtils.add,exports.adds=NumberUtils.adds,exports.minus=NumberUtils.minus,exports.round=NumberUtils.round,exports.floor=NumberUtils.floor,exports.ceil=NumberUtils.ceil;