最近、js を使用して数値の千の区切りを実装するという面接 (筆記試験) の質問をインターネットで見たので、「通常の置換」を使用して実装するメソッドを書きました。
var 1000BitSeparator = function(numStr){
var b = /([- ]?d{3})(?=d)/g;
戻り値 numStr.replace(b, function($0, $1){
$1 を返す ',';
});
}
正負の符号の一致と小数点の区別をサポートします。エラーがある場合は、指摘してください:-D
別のネチズンの実装方法を添付します
<スクリプト言語="JavaScript" タイプ="text/javascript">
関数 formatNumber(num){
if(!/^( |-)?(d )(.d )?$/.test(num)){
を返します。
}
var a = RegExp.$1,b = RegExp.$2,c = RegExp.$3;
var re = new RegExp().compile("(
\d)(\d{3})(,|$
)");
while(re.test(b)){
b = b.replace(re,"$1,$2$3");
}
a "" b "" c を返します。
}
var num=1234567/3;
alert("num=" num "、round: " Math.round(num) "、有効数字 2 桁: " num.toFixed(2) "、千の位の区切り文字を追加: " formatNumber(num)");
スクリプト>
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。