function getNormalSizeString (val, sliceNumber=2) { val = +val; if (Number.isNaN(val)) return "NaN"; if (!Number.isFinite(val)) return val >= 0 ? "∞" : "-∞"; if (!(""+val).includes(".")) return ""+val + `.${"0".repeat(sliceNumber)}`; let [ intVal, pointVal ] = (""+val).split("."); if (pointVal.length < sliceNumber) pointVal = pointVal + "0" .repeat(sliceNumber - pointVal.length); return `${intVal}.${pointVal.slice(0, sliceNumber)}`; } function getStrSize (sizeBytes) { if (sizeBytes < 512) return sizeBytes + " B"; else { //const failed = getNormalSizeString(0); const kb = getNormalSizeString(sizeBytes / 1024); const mb = getNormalSizeString(sizeBytes / 1048576); const gb = getNormalSizeString(sizeBytes / 1073741824); if (gb.split(".")[0] !== "0") return gb + " GB"; if (mb.split(".")[0] !== "0") return mb + " MB"; return kb + " KB"; } } module.exports.getNormalSizeString = getNormalSizeString; module.exports.getStrSize = getStrSize;