私は、ユーザー入力文字列がコンマ区切り文字を持つように多数をフォーマットするために入力するときに、ユーザー入力文字列を調整する問題に対して提案された各ソリューションを調べることに時間を費やしました。
9999999999->9,999,999,999など。
スタックオーバーフローについては、ここでいくつかの議論があります。
JavaScriptで千単位の区切り文字としてコンマを使用して数値を出力する方法
千単位の区切り文字としてコンマを追加(javascript)-代わりに出力が削除されます
そして、さらに多くの関連するクエリ、私が見つけたものをテストしました、そしてそれらは4または5の累乗までの数に対してうまく機能しました、例えば12,345はうまく出てきます、
ただし、数値が大きいと、コンマが多すぎます。
1 ,,,,, 0 ,,, 0 ,,, 000
たとえば、私が現在実装しているコードの出力です。(また、バックスペースをキーストロークとして登録するため、3回バックスペースすると、コンマが追加されます...)
function numberWithCommas(n){
var s=n.split('.')[1];
(s) ? s="."+s : s="";
n=n.split('.')[0]
while(n.length>3){
s=","+n.substr(n.length-3,3)+s;
n=n.substr(0,n.length-3)
}
return n+s
}
そして入力で:
onkeyup="this.value=numberWithCommas(this.value);"
関数を間違って使用していますか?それとも、それは単に大きな数では実行可能ではありませんか。任意のサイズの数値で機能するように調整する方法はありますか?
前もって感謝します