Math.Tan不起作用

时间:2011-12-27 01:56:25

标签: c# windows-phone-7 math

我目前正在为Windows Phone编写计算程序。其中一个计算是,如果找到用户输入的数字的正切,则是用户输入的另一个数字。

问题是当我输入1 * tan(45)(即1)时它返回1.6 ....我通过调试器运行了几次。我可以看到45进入Math.Tan,输出为1.6。

请帮我确定这个问题的原因。代码如下。

double result;
double multiplying = Convert.ToDouble(txtMultTan.Text);
double tangent = Convert.ToDouble(txtTan.Text);
result = multiplying * (Math.Tan(tangent));
txtResult.Text = "Answer= " + result;

6 个答案:

答案 0 :(得分:7)

我敢肯定,如果您阅读文档,您会发现trig函数期望输入为弧度。要将度数转换为弧度,请乘以pi/180.0,使用数学库提供的pi预定义常量。

答案 1 :(得分:1)

问题的原因是Math.Tan的参数必须是弧度,并且你似乎给它一个度数值。将值乘以pi / 180,您应该得到预期的结果。

有关详细信息,请参阅radians上的维基百科文章。

答案 2 :(得分:1)

Math.Tan的论据预计是弧度。多个Math.PI/180.0。例如:

    const double DTR = Math.PI / 180.0;
    double angle = 45;
    Console.WriteLine(Math.Tan(angle * DTR)); // Prints 1

答案 3 :(得分:0)

它是弧度的。

在“普通”.NET中就是这种情况 - 试试吧。

Console.WriteLine(Math.Tan(45));

答案 4 :(得分:0)

实际上,当我在谷歌上运行Tan(45)时,结果实际上是1.6。 Link

答案 5 :(得分:0)

很难找到!

要在JavaScript中完成基本triangle math,请使用..

Math.atan(opposite/adjacent) * 180/Math.PI