使用正弦返回错误值找到三角形的相反侧

时间:2013-10-20 12:23:06

标签: c#

我不知道出了什么问题。我已将我的罪恶答案转换为学位,但它不会给我正确的答案,而是给了我一个4.18 ...... 正确的输出应该是2.8左右。

输入1 = 4.9,输入2 = 35 在我的计算器上Sin(35)* 4.9 = 2.8 ....

output = Convert.ToDouble(Input1.Text) 
            * Math.Sin(Convert.ToDouble(Input2.Text)*180/Math.PI);

2 个答案:

答案 0 :(得分:4)

Math.Sin()以弧度为单位。

你在这做什么

Math.Sin(Convert.ToDouble(Input2.Text)*180/Math.PI)

将input2转换为degrees。

您需要乘以Math.PI/180才能将度数转换为弧度。

修改 所以你应该使用

Math.Sin(Convert.ToDouble(Input2.Text)*Math.PI/180)

答案 1 :(得分:0)

正如其他答案中所述,您的运算符优先级是向后的,您需要将Math.PI除以180而不是将Math.PI除以180。所以,你的功能应该是:

output = Convert.ToDouble(Input1.Text) * Math.Sin(
                                         Convert.ToDouble(Input2.Text)*(Math.PI/180));