最近,我使用此代码查找正弦和余弦。然而,我对任何给定的输出/答案都有问题。请帮助我并告诉我找到给定数字的正弦和余弦的正确代码?
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
Dim md1x, md1y, md2x, md2y, md3x, md3y, totalX, totalY, rv As Double
md1x = TextBox1.Text * Math.Cos(TextBox2.Text)
md1y = TextBox1.Text * Math.Cos(TextBox2.Text)
md2x = TextBox4.Text * (Cos(TextBox5.Text))
md2y = TextBox4.Text * (Sin(TextBox5.Text))
md3x = TextBox7.Text * (Cos(TextBox8.Text))
md3y = TextBox7.Text * (Sin(TextBox8.Text))
totalX = md1x + md2x + md3x
totalY = md1y + md2y + md3y
rv = Sqrt(totalX ^ 2 + totalY ^ 2)
TextBox16.Text = md1x
TextBox15.Text = md1y
TextBox14.Text = md2x
TextBox13.Text = md2y
TextBox12.Text = md3x
TextBox11.Text = md3y
TextBox10.Text = rv
End Sub
结束班
答案 0 :(得分:0)
您没有说明实际问题是什么,但一个非常常见的问题是角度预计为弧度而不是度
角度d必须以弧度为单位。乘以Math.PI / 180将度数转换为弧度。
http://msdn.microsoft.com/en-us/library/system.math.cos(v=vs.110).aspx
此外,TextBox2.Text
(等)的类型为string
,而非double
类型。
尝试类似
的内容md1x = double.Parse(TextBox1.Text) * (Math.Cos(double.Parse(TextBox2.Text)))
为了提高容错能力,您可以使用double.TryParse代替,如果解析失败,则会向UI提供相应的消息。
注意:double.Parse(...)是C#语法。我希望VB.Net语法类似。如有必要,任何人都可以编辑此答案以更正语法。