2

我不知道出了什么问题。我已将我的罪答案转换为度数,但它不会给我正确的答案,而是给我一个 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);
4

2 回答 2

4

Math.Sin()以弧度表示角度。

你在这里做什么

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

正在将 input2 转换为度数。

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

编辑: 所以你应该使用

Math.Sin(Convert.ToDouble(Input2.Text)*Math.PI/180)
于 2013-10-20T12:27:22.447 回答
0

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

output = Convert.ToDouble(Input1.Text) * Math.Sin(
                                         Convert.ToDouble(Input2.Text)*(Math.PI/180));
于 2013-10-20T12:36:14.013 回答