num-beauty
Version:
An ultra lightweight module for formatting numbers into human-friendly strings
1 lines • 432 B
JavaScript
export function formatNumber(e,t,r,n=!1){let a=Math.abs(e).toFixed(t);const i=a.indexOf(".");let l=-1===i?a:a.slice(0,i),o=-1===i?"":a.slice(i+1);l=l.replace(/^0+(?=\d)/,""),""===l&&(l="0"),n&&o.length>0&&(o=o.replace(/0+$/,"")),l=parseInt(l).toLocaleString(r,{useGrouping:!0,maximumFractionDigits:0});let c=l;return o.length>0&&(!n||""!==o)&&(c+=new Intl.NumberFormat(r).format(1.1).charAt(1)+o),e<0&&!l.includes("-")&&(c="-"+c),c}