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值不正确呀!
请高手帮我看看,小弟不胜感激呀!
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值不正确呀!
请高手帮我看看,小弟不胜感激呀!
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是常量,常量是不可以变的。
你已经变了它的值,当然不行了。
实在不明白呀!
就Cos的值不对!
实在让人不知怎么回事呀
只是猜测,这个函数我不大用.
.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
cos无限趋近于0而已。可能你没看到后面有e-几次方吧。
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
你试试看吧。
pi本来就不精确。cos也只能是个接近0的数了。