Java 为什么编程语言中的sin函数返回奇怪的sin值不像计算器

Java 为什么编程语言中的sin函数返回奇怪的sin值不像计算器,java,trigonometry,Java,Trigonometry,我在计算器中得到了熟悉的sin值 当我在java程序或Google中计算它时,我得到了如下奇怪的值 请告诉我它是如何工作的,如果我想在java程序中使用calculator sin函数该怎么办?在你的计算器中,27.5是以度为单位的。 但对于谷歌上的计算器,它的处理弧度为27.5。 这就是为什么他们有不同的答案 1弧度约等于57.2958度 2π弧度等于360度。您使用的是两个不同的单位。一边是度,另一边是弧度 当你有不同的输入时,得到不同的结果是正常的。你得到不同结果的原因是因为计算器给了你2

我在计算器中得到了熟悉的sin值

当我在java程序或Google中计算它时,我得到了如下奇怪的值


请告诉我它是如何工作的,如果我想在java程序中使用calculator sin函数该怎么办?

在你的计算器中,27.5是以度为单位的。 但对于谷歌上的计算器,它的处理弧度为27.5。 这就是为什么他们有不同的答案

1弧度约等于57.2958度


2π弧度等于360度。

您使用的是两个不同的单位。一边是度,另一边是弧度


当你有不同的输入时,得到不同的结果是正常的。

你得到不同结果的原因是因为计算器给了你27.5度的sin,而谷歌给了你27.5弧度的sin,相当于1576度

为了得到同样的结果,你要么将计算器从DEG模式改为RAD模式,要么说服谷歌以某种方式使用degrees

至于你的Java程序,这是我们在这个网站上真正关心的,Java的内置和工作弧度。如果不想使用度,则必须将其转换为弧度形式。为此,您可以使用:

或者,您可以使用实际数学:

Math.sin(27.5 * Math.PI / 180);
根据sin的参数是

以弧度表示的角度

你的计算器使用度

要将度转换为弧度,需要乘以π,再除以180。例如:

double radians = 27.5 * Math.PI / 180;
Math.sin(radians);

似乎计算器的输入应该以度为单位,谷歌的输入应该以弧度为单位

弧度是测量角度的另一个单位

您也可以使用google转换:

谷歌给出的sin为27.5弧度,相当于1576度,而计算器给出的sin为27.5度。
double radians = 27.5 * Math.PI / 180;
Math.sin(radians);