如何获得三角函数的用户友好值?

时间:2012-02-01 13:10:22

标签: java android trigonometry calculator

我正在开发一个Android应用程序。用于数学计算。在那里我有一些像sin,cos,tan这样的按钮,它们应该显示它们各自的三角函数值,因为我使用java.lang.Math类的相应方法,并且工作正常。但经过一些测试我才知道,它显示了一些结果如下

sin(90)=0.89399........   //I want it to show 1
cos(90)=-0.44807........  //I want it to show 0
tan(90)=-1.995200......   //I want it to show Infinity as sin(90)/cos(90)=1/0=Infinity

与上面的例子一样,有许多显示这样的结果。我应该怎么做才能得到上面提到的结果。请帮帮我。

4 个答案:

答案 0 :(得分:8)

你的问题是java使用弧度和not degrees。您必须先将角度转换为rad。

Double rad = degrees /180 * pi;

答案 1 :(得分:4)

首先,三角函数不适用于您正在使用的度数。您必须发送3.1415926 / 2而不是90.在这种情况下,sin将更接近1并且更接近于0.

但数字仍然是浮点数。如果您想围绕它们进行展示,请使用DecimalFormat类或String.format()方法。

答案 2 :(得分:3)

Javadoc救援:

  

参数:        a - 一个角度,以弧度

(强调我的)

首先将您的学位转换为弧度。 360度= 2 * pi。

答案 3 :(得分:0)

看看Math.round()

另外,我上次检查时,每当你偏离0时,你都没有得到无穷大。除以0是不明确的。

此外,Java使用弧度来表示三角函数,因此请确保使用的是弧度,而不是度数或渐变。