我正在尝试用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,但它不起作用。我尝试将其四舍五入,但当x为正时它将再次停止工作。请帮忙。提前谢谢。
答案 0 :(得分:0)
改变这个:
console.log("x: " + x + " y: " + func)
对此:
console.log("x: " + x.toFixed(2) + " y: " + func)