2

ここで私は私のウェブアプリケーションに問題があります(chromeとfirefoxとnodejsでテストされています):

(1.2-1)を実行すると、結果として0.19999999999999996が返されます。

誰かが理由を知っていますか?

4

2 に答える 2

3

あなたはあなたの問題を解決することができます:(1.2-1).toFixed(1)* 1 // 0.2

于 2013-02-06T11:38:16.140 に答える
1

javascriptのtoFixedメソッドを使用できます。詳細:

番号の方法

JavaScript1.5で実装

ECMAScript Edition ECMAScript 3rd Edition

構文

number.toFixed([数字])

パラメータ

数小数点以下に表示される桁数。これは0から20までの値であり、実装はオプションでより広い範囲の値をサポートする場合があります。この引数を省略すると、0として扱われます。

戻り値

指数表記を使用せず、小数点以下の桁数が正確に含まれる数値の文字列表現。数値は必要に応じて丸められ、小数部は指定された長さになるように必要に応じてゼロで埋められます。numberが1e+21より大きい場合、このメソッドは単にNumber.toString()を呼び出し、指数表記の文字列を返します。

スロー

RangeError 桁が小さすぎるか大きすぎる場合。0から20までの値は、RangeErrorを引き起こしません。実装は、より大きな値とより小さな値もサポートできます。TypeError このメソッドがNumberではないオブジェクトで呼び出された場合。

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/toFixed

于 2013-02-06T11:34:16.327 に答える