2016-08-21 12 views
1

私は小数点以下の数字を含むユーザー入力を持っています。私は計算を行うために使用できる形式にその入力を変更する必要があります。jQueryの数値書式が正しく機能しない

だから、次の点を考慮してくださいつまり

input   --> should become 
10,123.15  --> 10.123,15 
10.123,15  --> 10.123,15 
10,123.1  --> 10.123,10 
10.123,1  --> 10.123,10 
10,123  --> 10,123,00 
10.123  --> 10.123,00 
10.123,13562 --> 10.123,14 
10,123.13562 --> 10.123,14 

:使用ドット千人に区切り、カンマを小数点区切りのために、常に切り上げ、2進数を返す途中。

私はregex'es、substr、roundを使用してみましたが、ちょっと固まってしまいました。上記の最初の2つの例では動作していますが、残りの部分はうまくいきません。

これを数時間見ていますが、おそらくそれで私を助けることができますか? JQuery Number Formatting私はちょっと助けてくれましたが、それでも上記のすべての例ではうまくいきません。

誰かが私を助けることができたらとてもうれしいです!

+1

カンマであれば、ドット、1削除カンマ、2使用toFixed(2)、多くのヨーロッパの数フォーマッタのいずれかを使用して3.再フォーマットする前に - コンマの前のドットはドットを交換する場合何もせずにカンマをドットで置き換えます。リンスとリピート – mplungjan

答えて

1

必要に応じて番号をフォーマットするロケールを指定すると、toLocaleString()を使用してこれを実現できます。例えば、de-DE。答えるため

var foo = '10,123.15'; // number as string 
 
var num = parseFloat(foo.replace(',', '')); // remove the , and convert to float 
 
console.log(num.toLocaleString('de-DE')); // format to locale

0

THX:これを試してみてください!

私はそれらを試しましたが、私はそれのためにいくつかのアイデアを持っていました。 charがカンマか点であるかどうかをテストしながら、右から左に入力valを反復することで解決しました。それに応じて行動します。今すぐOK!

おかげで再び、

よろしく

関連する問題