数値をバイト書式に変換

数値をバイト書式に変換するやり方をご紹介します。

関数定義

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'

JavaScript逆引きリファレンス一覧へ戻る