正确和余弦错误答案

时间:2014-07-09 21:42:08

标签: vb.net math operators sine cosine

最近,我使用此代码查找正弦和余弦。然而,我对任何给定的输出/答案都有问题。请帮助我并告诉我找到给定数字的正弦和余弦的正确代码?

    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

结束班

1 个答案:

答案 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语法类似。如有必要,任何人都可以编辑此答案以更正语法。