3

私はこの行を持っています:

for (var j = 0; j<1; j = (j + 0.1).toPrecision(1))

このステートメントを設定しようとしているので、0、0.1、0.2、0.3 から 1 までを取得します。

現時点では0、0.1を取得し、結果が1を通過したかのように何もない、

単純に j = j + 0.1 を使用すると丸め誤差が発生し、正確な小数点以下の桁数が必要になります。

助言がありますか?

4

2 に答える 2

2

したほうがいい

for (var jj = 0; jj < 10; ++ jj) {
   var j = jj / 10;
   ...
}

精度が必要な場合。

于 2010-01-27T13:22:24.150 に答える
1

これを試してください... toPrecision を使用すると、それ以上の数値ではないため、最初の反復後に失敗します。

for (var j = 0; j<1; j = (parseFloat(j) + 0.1).toPrecision(1)) 
于 2010-01-27T13:17:51.403 に答える