JavaScriptで数値をカンマ区切りでフォーマットする方法
JavaScriptで数値をカンマ区切りする方法としては、 こちらの正規表現を使った方法がメジャーなようですが、以下のように
var re = /(\d)(?=(\d\d\d)+(?!\d))/g;
String(1234).replace(re, '$1,'); // 1,234 OK
String(1234.56).replace(re, '$1,'); // 1,234.56 OK
String(1234.5678).replace(re, '$1,'); // 1,234.5,678 NG
小数点以下が3桁を超えると破綻してしまいます。 どのような解決策があるでしょうか。