数値のフォーマット設定
数値をカンマ区切りの形式に変換するには、次のように正規表現を使うことで可能です。
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