【发布时间】:2018-04-25 07:25:37
【问题描述】:
我正在尝试获取角度为9.590124942537262 的 sin 和 cos。
在 Javascript 中我会这样做:
var a = Math.sin(9.590124942537262);
var b = Math.cos(9.590124942537262);
结果是:
a == -0.16459459028073223
b == -0.9863613034027227
如果我像这样在 PHP 中执行相同的操作:
$a = sin(9.590124942537262 * M_PI / 180); // ≈ 0.16737916966136 rad
$b = cos(9.590124942537262 * M_PI / 180);
我得到了这些结果:
$a == 0.16659953926461
$b == 0.9860246414349
问题是:如何使这些操作统一,以便 PHP 返回带有减号的正确值?我尝试将角度变圆,但没有帮助。
【问题讨论】:
-
你为什么不在 JavaScript 版本中转换成弧度?
-
@Pointy,我无法更改 JS 代码,我正在将其转换为 PHP。
-
这就是
9.590124942537262 degrees与9.590124942537262 radians的 sin/cos 之间的区别。或者一般来说:angle !== angle * Math.PI/180 -
那么 JavaScript 中的三角函数也适用于弧度;您的 PHP 代码与 JavaScript 代码明显不同,原因尚不清楚。如果您只是像 JavaScript 代码一样在 PHP 中将值传递给
sin和cos会怎样? -
好吧,你为什么在PHP版本中这样做?
标签: javascript php trigonometry