Javascript Rouding в для утверждения - PullRequest
3 голосов
/ 27 января 2010

У меня есть эта строка:

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 приводит к ошибкам округления, и мне нужно точное десятичное число.

Есть предложения?

Ответы [ 2 ]

2 голосов
/ 27 января 2010

лучше сделать

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

если вам нужна точность.

1 голос
/ 27 января 2010

Попробуйте это ... Когда вы используете toPrecision, он больше не номер, поэтому он завершается ошибкой после первой итерации.

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