UNPKG

ll-package

Version:

2 lines (1 loc) 1.3 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./supportUtil.js");function N(e){let t=e.trim(),i=t.startsWith("-");i&&(t=t.slice(1)),t=t.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,""),t.startsWith(".")&&(t=`0${t}`);const r=t||"0",s=r.split("."),u=s[0]||"0",l=s[1]||"0";u==="0"&&l==="0"&&(i=!1);const c=i?"-":"";return{negative:i,negativeStr:c,trimStr:r,integerStr:u,decimalStr:l,fullStr:`${c}${r}`}}function n(e){const t=String(e);return!Number.isNaN(Number(t))&&t.includes("e")}function f(e){const t=String(e);if(n(e)){let i=Number(t.slice(t.indexOf("e-")+2));const r=t.match(/\.(\d+)/);return r!=null&&r[1]&&(i+=r[1].length),i}return t.includes(".")&&a(t)?t.length-t.indexOf(".")-1:0}function S(e){let t=String(e);if(n(e)){if(e>Number.MAX_SAFE_INTEGER)return String(o.supportBigInt()?BigInt(e).toString():Number.MAX_SAFE_INTEGER);if(e<Number.MIN_SAFE_INTEGER)return String(o.supportBigInt()?BigInt(e).toString():Number.MIN_SAFE_INTEGER);t=e.toFixed(f(t))}return N(t).fullStr}function a(e){return typeof e=="number"?!Number.isNaN(e):e?/^\s*-?\d+(\.\d+)?\s*$/.test(e)||/^\s*-?\d+\.\s*$/.test(e)||/^\s*-?\.\d+\s*$/.test(e):!1}exports.getNumberPrecision=f;exports.isE=n;exports.num2str=S;exports.trimNumber=N;exports.validateNumber=a;