我试过了
$x = cos(deg2rad($angle));
但当角度为 90 度而不是 0 时,它会返回 6.12323399574E-17。
我读到这是一个浮点问题,但是有解决方法吗?
6.1E-17是almost无论如何都是零[*]。如果您需要实际将结果与零进行比较,在浮点数学中,您应该检查它是否在所需值的一定容差范围内,因为大多数数字无法正确表示。
$x = cos(deg2rad($angle));
$is_zero = (abs($x) < 1e-10);
当然,严格来说,零实际上是一个数字can以浮点形式正确表示。真正的问题是pi / 2.0
不可能,所以输入到你的cos
功能不“正确”。
[*] 结合上下文来看,以 1 AU(太阳到地球的平均距离)的比例计算,它相当于 0.0092毫米,或者关于一个平均宽度的十分之一一根人类头发的...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)