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

发布于 2025-01-01 00:01:37 字数 387 浏览 1 评论 0原文

我正在开发一个安卓应用程序。用于数学计算。我有一些按钮,如 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

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

I am developing an android app. for mathematical calculations. There I have some buttons like sin,cos,tan which should show their respective trigonometric values, for that I am using corresponding methods of java.lang.Math class and that works fine. But after some tests I came to know that, it shows some results as follows

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

Like the above examples there are many which show results like this. What should I do this for getting the results as mentioned above. Please help me.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

鹿! 2025-01-08 00:01:37

你的问题是java使用弧度而不是度数一个>。您必须先将角度转换为弧度。

Double rad = degrees /180 * pi;

Your problem is that java uses radians and not degrees. You have to convert the angle to rad first.

Double rad = degrees /180 * pi;
七七 2025-01-08 00:01:37

Javadoc 到救援:

参数:
a - 角度,以弧度为单位。

(强调我的)

首先将你的角度转换成弧度。 360 度 = 2 * 圆周率。

Javadoc to the rescue:

Parameters:
a - an angle, in radians.

(emphasis mine)

Convert your degrees into radians first. 360 degrees = 2 * pi.

葵雨 2025-01-08 00:01:37

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

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

First, trigonometric functions do not work with degrees that you are using. You have to send 3.1415926/2 instead of 90. In this case sin will be much closer to 1 and cos much closer to 0.

But the numbers will still be floating point. If you want to round them for presentation use DecimalFormat class or String.format() method.

黯然#的苍凉 2025-01-08 00:01:37

看一下 数学.round()

另外,我上次检查时,每当你除以 0 时,你都不会得到无穷大。除以 0 是未定义的。

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

Take a look at Math.round().

Also, last time I checked, whenever you devide by 0 you do not get infinity. Division by 0 is undefined.

Also, Java uses radians for trigonometric functions, so be sure you are using radians and not degrees or gradians.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文