2017-06-19 5 views
-1

別の変数を保存するためのお金を表すのに、フォーマットされた文字列を表示できるようにするために、どのような戦略を使用できますか?どのようにして、通貨/通貨(カンマの代わりにピリオドやセントの値も使用しない)の形式の数値を表示する入力を行うことができますが、元の値を保存して保存しますか?別の変数を保存してお金を表示するようにするにはどうすればよいですか?フォーマットされた文字列を表示用にレンダリングできるのはどんな戦略ですか?

1000 =>1.000

1000000 =>1.000.000

例:保存された場合、それは1000としてデータベースに挿入され、1000000ないそれぞれ1.000又は1.000.000、などされるべきです。

+0

あなたはそれが例えばとDBへの挿入前にドットを削除できます。input_str .split( '。')。join( '') - より洗練されたソリューションがあります。 –

+0

https://jsfiddle.net/1o7zkjgd/ – Shiladitya

答えて

0

を試してみてください申し訳ありませんが、私はこのためのソリューションを得ました。
このプラグインが見つかりました:https://github.com/igorescobar/jQuery-Mask-Plugin代わりにjscriptをネイティブに使用してください。 と私は次のように書いています。

$(document).ready(function(){ 
    $('#formharga').mask('000.000.000', {reverse: true}); 
}); 
$("#formpaket").submit(function() { 
    $("#formharga").unmask(); 
}); 

問題が解決しました!
ありがとうございました。

-1

この

var yourNum='1,825.00' 
yourNum = yourNum.replace(/\,/g,'') 
var finalNum = Number(yourNum) 
//this give 1825 
0

これを行う最もよい方法は、入力に基づいて新しい文字列を返す関数を使用することです。この方法で、フォーマットされた番号を取得できますが、実際の変数は変更/変更されません。次に、あなたが保存するとき、元の未変異した変数を使用し、むしろ、関数によって返された文字列を使用していない...

// Use a function that will return the value to render without mutating the original value... 

function getFormattedNumber(num) { 
    return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, "."); 
} 

// This way 'num' stays the same and can be saved 

var n = 1000000; 

var formatted = getFormattedNumber(n) // => 1.000.000 
+0

のようなものを試してみてください。 '$'記号と2)あなたがしたい。 ' '、'の代わりに、そしてまた3)あなたはセントを示す期間を持つことはないでしょう... –

+0

できるだけ純粋な関数を使用してください。純粋な関数は、それ自体の外に何かを変更しません。純粋な関数は副作用をもたらさない。同じ入力が与えられると、純関数は常に同じ出力を返します。 –

関連する問題