数値のフォーマット設定

数値をカンマ区切りの形式に変換するには、次のように正規表現を使うことで可能です。

JavaScript

var num    = 1234567890,
    result = String(num).replace(/(\d)(?=(\d\d\d)+$)/g, '$1,');

alert(result); // 1,234,567,890

小数点以下を考慮する場合

小数点以下を考慮した方法は次のようにすることで可能です。

関数定義

JavaScript

/**
 * 数字の書式設定(区切り)
 * @param {number|string} number 数字
 * @param {string} [delimiter=","] 区切り文字
 * @return {string} 書式設定された文字列を返す
 */
var numberFormat = function(number, delimiter) {
	delimiter = delimiter || ',';

	if (isNaN(number)) return number;
	if (typeof delimiter !== 'string' || delimiter === '') return number;

	var reg = new RegExp(delimiter.replace(/\./, '\\.'), 'g');

	number = String(number).replace(reg, '');
	while (number !== (number = number.replace(/^(-?[0-9]+)([0-9]{3})/, '$1' + delimiter + '$2')));

	return number;
};

使い方

JavaScript

var result = numberFormat( number, delimiter );

引数

引数名 初期値 説明
第一引数
必須
number   number|string 対象文字列または数値
第二引数 delimiter , string 区切る文字列

戻り値

フォーマットされた文字列を返します。

JavaScript

var num    = -1234567890.12,
    result = numberFormat(num, ',');

alert(result); // -1,234,567,890.12

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