2016-05-17 26 views
1

Hy男、 小数点以下2桁まで丸めたい場合があります。私は例と私が試したことを与えます。小数点以下2桁までの丸め数字

私はそれを切り上げるために、私は15.07567を考えてみましょう://

price = Math.round(15.07567 * 100)/100; 

を、私は15.08

を得る。しかし、我々はウィット0(例15.10)を終了桁を持っている場合、これは問題を提示2つの小数点が必要です。

price = Math.round(15.10 * 100)/100; 

//15.1

うーん、私はそれは良いことだが、それは文字列を返し、それが存在する可能性があり、私は "15.10" を取得//

price = Math.round(15.10 * 100)/100; 
total = price.toFixed(2); 

)toFixedを(使用しようとしました

price = Math.round(15.10 * 100)/100; 
total = price.toFixed(2); 
Number(total) //or parseFloat(total) 

//私は15.1取得し、周りに円形に私が行く:問題は、後に私のために私がしてこの問題を解決しようとしましたか?

+0

ゼロのJSがそれを落とすなら...あなたは1つを選ぶ必要があります。 – JordanHendrix

+1

あなたが結果を文字列にしたいのでない限り、「15.10 == 15.1」。 – SuperSaiyan

答えて

0

ヨルダンは言った。 JavaScriptに数字が表示されたら、0を削除します。値をそのまま保存し、表示するときに.toFixed(2)を実行して正しく表示されるようにします。それとも、通貨フォーマッタを見つけて、それを表示して、ビュー側で使用したいと思っているようだ。

ここには素晴らしい通貨定型スクリプトがあります。

price.formatMoney(2); 

それとも、ヨーロッパのために何千と小数点の記号を指定する場合:

Number.prototype.formatMoney = function(c, d='.', t=','){ 
    var n = this, 
    c = isNaN(c = Math.abs(c)) ? 2 : c, 
    d = d == undefined ? "." : d, 
    t = t == undefined ? "," : t, 
    s = n < 0 ? "-" : "", 
    i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", 
    j = (j = i.length) > 3 ? j % 3 : 0; 
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ""); 
}; 

その後、あなたは、このコードでそれをオブジェクト指向のファッションを使用することができます。

price.formatMoney(2, ',', '.'); 
+0

ありがとう。私はそれが次に行く方法だと思います。私の値を文字列に変換して、必要なときにtoFixed()を使って表示するだけです。 –

+0

問題なく、JS通貨書式設定スクリプトを投げました。 –

0

あなたが右に0を表示したい場合は、文字列に数値を表現するために必要...

0

あなたがそれらを希望取得するtoFixedを介してそれらを実行して表示するときは、必ず、あなたの番号を保ちます表示形式のため、文字列形式の準備ができています。このメソッドは必須であり、表示目的で設計されているため、この関数は数値の代わりに文字列を返します。

関連する問題