2011-01-27 32 views
9

私はjavascriptで浮動小数点数を加算したり減算したりしています。小数点以下3桁以上の任意の数値の上限を取る方法を知る必要があります。たとえば:javascript - ドル金額の上限

3.19 = 3.19

3.191 = 3.20

3.00000001 = 3.01

答えて

23
num = Math.ceil(num * 100)/100; 

ものの、due to the way floats are represented、あなたは、小数点以下2桁だきれいな番号を取得することはできません。表示のために、常にnum.toFixed(2)を実行してください。

+1

これは素晴らしい仕事でした。本当にありがとうございました。しかし。 。 。私はおそらくAmnonのアドバイスをすべて整数として行うつもりです – bmarti44

+0

@ bmarti44、Amnonのアドバイスは良いですが、警告の言葉です。整数を使用すると、加算と乗算を行うときに問題は発生しませんが、セキュリティの誤った意味にはなりません。同じ問題が除算で発生します。 '1/10 * 3'。もちろん、あなたのアプリケーションによっては、これはまったく起こらないかもしれません。 –

10

実際、私はBox9で引用した理由と同じ理由でドル金額をフロートとして表記したくないと思います。 たとえば、ブラウザで0.1 * 3!= 0.3です。それらを整数(例えばセント)で表す方が良いです。

+0

浮動小数点値を整数に切り替えるのは正しいと思いますので、私はあなたのアドバイスを取っていきます。迅速な回答ありがとうございます。 – bmarti44

関連する問題