我如何在Javascript中获得浮点数的正确计算



我正在学习Javascript,我正在解决一个涉及浮点数数学计算的问题。我听说Javascript在处理浮点数方面很奇怪,但当我看到它的影响是这样的动态时,我感到很惊讶。我应该怎么做才能得到正确的答案?我需要知道些什么,才能在以后的计算中避免这个错误?我很感激你的帮助,谢谢你的时间。

var merge = function(array1, array2, callback) {
var result = [];
for (var i = 0; i < array1.length; i++) {
    result.push(callback(array1[i], array2[i]));
}
return result;
};
var euclid = function(coords1, coords2) {
var myCoords = merge(coords1, coords2, function(a, b){
    return a - b;
});
return Math.sqrt(myCoords[0]^2 + myCoords[1]^2);
};
var x = euclid([1.2, 3.67], [2.0, 4.4]);
// x should now equal approximately 1.08
But instead I got:
euclid([1.2, 3.67], [2.0, 4.4]);
// -> 1.7320508075688772

如果你想要平方一个数字,它不是x^2 -那是位xor

你需要Math.pow(x, 2)

最新更新