2014-12-25 3 views
0

Я пытаюсь сделать графический калькулятор в javascript. Сегодня я столкнулся с проблемой, которую я не знаю, как исправить. Вот код.Лучшая система округления для javascript

var step = 0.5; 
for (var i = -size; i <= size; i+= step){ 
    if(given!=null){ 
     func = eval(given); 
     console.log("x: " + x + " y: " + func); 
    } else { 
     func = -(x); 
    } 
    points[i+size] = new THREE.Vector3(x,0,func); 
    x+=step; 
} 

Вы можете игнорировать материал Vector, мой вопрос касается неточности. Когда я делаю шаг менее 0,5, javascript будет делать ошибки. Это то, что происходит, когда я изменяю шаг до 0,05.

x:-14 y: 0.27090578830786904 
x: -13.95 y: 0.36565262028262135 
x: -13.899999999999999 y: 0.456745972144196 

Слишком много, но я остановился на -13, потому что здесь проблема начинается. Как вы можете видеть, я хочу, чтобы он вернулся -13.90, но это не сработало. Я попытался округлить его, но он перестанет работать снова, когда х положителен. Пожалуйста помоги. Заранее спасибо.

ответ

0

Изменить это:

console.log("x: " + x + " y: " + func) 

Для этого:

console.log("x: " + x.toFixed(2) + " y: " + func) 
Смежные вопросы