相关疑难解决方法(0)

为什么模数运算符在javascript中返回小数?

为什么49.90 % 0.10在JavaScript中返回0.09999999999999581?我预计它会是0.

javascript floating-point modulus

30
推荐指数
3
解决办法
3万
查看次数

Javascript的几何方法:零不完全为零,是吗?

在用Javascript和Canvas编写的简单几何程序中,当我将角度设置为270°(1½π)时,我期望Math.cos(θ)变为零.矢量从中心向下直线,笛卡尔网格上没有x距离.相反,我明白了:

demo_angle = 270
ang = demo_angle * Math.PI / 180
x = Math.cos(ang) 
console.log(x)
> -1.836909530733566e-16
Run Code Online (Sandbox Code Playgroud)

要查看数学函数的输出,请查看控制台.源代码在URL中可见(在coffeescript中)一级.

我必须在我的代码中定义"绝对值小于1e-15的任何数字应该被认为是零",但这确实不令人满意.毋庸置疑,当我尝试使用x小的值进行数学运算时,特别是因为我试图x在斜率计算中使用分母然后进行一些二次操作,我最终得出的数字超过了Number.MAX_VALUE(或Number.MIN_VALUE).

我知道浮点数学在汇编语言层面上是一种黑暗艺术,但是这样的结果似乎比可接受的更奇怪.关于我应该做什么的任何暗示?

javascript floating-point geometry

4
推荐指数
1
解决办法
141
查看次数

标签 统计

floating-point ×2

javascript ×2

geometry ×1

modulus ×1