数値をカンマ区切りの文字列に変換する - JavaScript

SPECIAL


数値を 3 桁ごとにカンマで区切る

JavaScript で数値を 3 桁ごとにカンマで区切った文字列に変換したい場合は、次のようなプログラムを使用することで実現できます。

// 引数 number で与えられた数値を 3 桁ごとにカンマで区切った文字列で取得する関数です。

function toFormattedNumberString(number)

{

var result;

 

// 念のため、引数 number に与えられた値が "何桁毎かにカンマで区切られた数値文字列" だった場合を想定して、そこからカンマを取り除きます。純粋に数値が与えられた場合には、それをそのまま文字列に変換しています。

result = String(number).replace(/,/g, '');

 

// 先頭から符号も考慮して数字が 4 個以上見つかる部分を探して、その後ろ 3 つの数字の前にカンマを付与しています。それを繰り返し、カンマが付与できなくなった時点で終了します。

while (result != (result = result.replace(/^([-\+]?\d+)(\d{3})/, '$1,$2')));

}

このようなプログラムなら、先頭にプラスマイナスの符号がついていても、4 桁区切りの数字文字列であっても、小数点数であっても対応できると思います。