Private Sub Command1_Click()
Const pi = 3.1415926
Dim Ang As Single
Ang = pi / 2
Text1.Text = Sin(Ang)
Text2.Text = Cos(Ang)
Text3.Text = (Sin(Ang) * Sin(Ang) + Cos(Ang) * Cos(Ang))
End Sub
这个程序怎么运行不正确呀?
Cos值不正确呀!
请高手帮我看看,小弟不胜感激呀!

解决方案 »

  1.   

    Private Sub Command1_Click()
    Const pi = 3.1415926
    Dim Ang As Single
    Ang = pi / 2
    Text1.Text = Sin(Ang)
    Text2.Text = Cos(Ang)
    Text3.Text = (Sin(Ang) * Sin(Ang) + Cos(Ang) * Cos(Ang))
    End Sub
    pi是常量,常量是不可以变的。
    你已经变了它的值,当然不行了。
      

  2.   

    我把它换成Single类型也还是那样呀!
    实在不明白呀!
      

  3.   

    Sin值是正确的。
    就Cos的值不对!
    实在让人不知怎么回事呀
      

  4.   

    是不是因为这样,cos应该输入角度值而非弧度值?
    只是猜测,这个函数我不大用.
      

  5.   

    结果是:
     .999999999999997 
     7.54978995489167E-08   '这个数值实际表示的是0.0000000754978995489167
     1 因为计算机处理小数的时候存在误差,所以以上结果是正确的。一般来说如果误差小于 10E-6 (10的负6次方) 就算正确,处理的时候可以忽略。Function IsZero(ByVal v  as double)
        IsZero = (-0.000001 < v) and (v<0.000001)
    End Function
      

  6.   

    cos值没错。
    cos无限趋近于0而已。可能你没看到后面有e-几次方吧。
      

  7.   

    改成这样吧,你写的代码效率太低。
    Private Sub Command1_Click()
    Const pi = 3.1415926
    Dim Ang As Single
    Dim vSin as Double
    Dim cCos as Double 
    Ang = pi / 2
    vSin=Sin(Ang)
    vCos=Cos(Ang)
    Text1.Text = vSin
    Text2.Text = vCos
    Text3.Text = (vSin * vSin + vCos * vCos)
    End Sub
    你试试看吧。
      

  8.   

    没问题的东东。你自己用计算器算还不是这样。
    pi本来就不精确。cos也只能是个接近0的数了。