La programación de cuenta regresiva de VB no puede determinar que sea igual a 0
s=s-0.01 se cambia a s=round(s-0.01, 2)
Debido a que los números de coma flotante no pueden representar con precisión 0.01, cuando el valor de s-0.01 es muy pequeño, aparecerán muchos lugares decimales.
Los números de punto flotante se pueden representar con precisión mediante 1/128 = 0,0078125. Cuando el valor inicial de s también se puede representar con precisión, no se producirán errores. Mire el siguiente programa:
Private Sub Command1_Click()
Dim s#
s = 1
Do
s = s - 0.0078125
Bucle hasta s = 0
Imprimir s
Fin Sub