数値をバイト書式に変換
数値をバイト書式に変換するやり方をご紹介します。
関数定義
JavaScript
/**
* バイト書式変換
* @param {number} number 適用する数値
* @param {number} [point=0] 小数点の桁数
* @param {number} [com=1024] 1KBあたりのバイト数
* @return {string} 書式化された値を返す
*/
var byteFormat = function(number, point, com) {
if (typeof number === 'undefined') throw '適用する数値が指定されていません。';
if (!String(number).match(/^[0-9][0-9\.]+?/)) throw '適用する数値に誤りがあります。';
if (!point) point = 0;
if (!com) com = 1024;
var bytes = Number(number),
suffix = ['Byte', 'KB', 'MB', 'GB', 'TB', 'PB', 'ZB', 'YB'],
target = Math.floor(Math.log(bytes) / Math.log(com));
return (bytes / Math.pow(com, Math.floor(target))).toFixed(point) + ' ' + suffix[target];
};
使い方
引数
引数名 | 型 | 初期値 | 説明 | |
---|---|---|---|---|
第一引数 必須 |
number | number | 適用する数値 | |
第二引数 | point | number | 0 | 小数点の桁数 |
第三引数 | com | number | 1024 | 1KBあたりのバイト数 |
戻り値
バイト書式に変換された文字列を返します。
サンプルコード
JavaScript
var formatSize = byteFormat(123456789, 2);
alert(formatSize); // '117.74 MB'