Как вычисляется значение в JavaScript?

Подскажите, почему на кальляторе значение xx+x равно 0.752001, а в JavaScript считает как 0.7520009999999999??? Я это значение считаю так: x+dx=0.5+0.001=0.501; xx+x=0.501*0.501+0.501=0.752001

function diff(f,x,dx){
  //Результат функции
  return f(x+dx)
}

//Функция для передачи аргументом
function G(x){
  //Значение функции
  return x*x+x;//0.7520009999999999
}
//Точное значение
function g(x){
  return 2*x+1;
}

for(let z=0.5; z<=2; z+=0.5){
  document.write(g(z)+' vs.'+diff(G,z,0.001)+'<br>')
}

Ответы (1 шт):

Автор решения: Тамир Пузанов

В калькуляторе число сокращается
0.7520009999999999 ≈ 0.752001

Если вам необходимо округлить дробь то воспользуйтесь функцией toFixed()

var int = 0.7520009999999999; alert(int.toFixed(6)); //0.752001

→ Ссылка