因為浮點數不能精確表示0.01,當s-0.01的值較小時,就會出現小數點後好多位;
浮點數能精確表示1/128=0.0078125,當s初值也能精確表示時,就不會出現誤差,請看如下程序:
Private Sub Command1_Click()
Dim s#
s = 1
Do
s = s - 0.0078125
Loop Until s = 0
Print s
End Sub