UNPKG

wsemi

Version:

A support package for web developer.

59 lines (51 loc) 1.34 kB
import isnum from './isnum.mjs' import cdbl from './cdbl.mjs' import dig from './dig.mjs' /** * 檔案大小(bytes)自動轉換單位 * 可調整檔案大小為b,kb,mb,gb,並添加單位 * 若輸入不是數字或字串時則回傳空字串 * * Unit Test: {@link https://github.com/yuda-lyu/wsemi/blob/master/test/cfilesize.test.mjs Github} * @memberOf wsemi * @param {Number|String} b 輸入單位需為bytes的檔案大小,可為數字或字串 * @returns {String} 回傳自動轉換單位後的字串 * @example * * console.log(cfilesize(0)) * // => '0.0 b' * * console.log(cfilesize(100)) * // => '100.0 b' * * console.log(cfilesize(2048)) * // => '2.0 kb' * * console.log(cfilesize(2000000)) * // => '1.9 mb' * * console.log(cfilesize(2000000000)) * // => '1.9 gb' * */ function cfilesize(b) { //check if (!isnum(b)) { return '' } b = cdbl(b) if (b < 1024) { return dig(b, 1) + ' b' } else if (b < 1024 * 1024) { return dig(b / 1024, 1) + ' kb' } else if (b < 1024 * 1024 * 1024) { return dig(b / 1024 / 1024, 1) + ' mb' } else if (b < 1024 * 1024 * 1024 * 1024) { return dig(b / 1024 / 1024 / 1024, 1) + ' gb' } return '' } export default cfilesize