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