- Код: Выделить всё
Dim a As Single
Private Sub Form_Load()
Do While a < 1
a = a + 0.01
Debug.Print a
Loop
End Sub
Ожидается, что он будет выводить числа от 0 до 1 с шагом 0.1.
Но результат превосходит все ожидания:
- Код: Выделить всё
0,01
0,02
0,03
0,04
0,05
0,06
0,07
0,08
0,09
9,999999E-02
0,11
0,12
0,13
0,14
0,15
0,16
0,17
0,18
0,19
0,2
0,21
0,22
0,23
0,2400001
0,2500001
0,2600001
0,27
0,28
0,29
0,3
0,31
0,32
0,33
0,34
0,35
0,36
0,3699999
0,3799999
0,3899999
0,3999999
0,4099999
0,4199999
0,4299999
0,4399999
0,4499999
0,4599999
0,4699998
0,4799998
0,4899998
0,4999998
0,5099998
0,5199998
0,5299998
0,5399998
0,5499998
0,5599998
0,5699998
0,5799997
0,5899997
0,5999997
0,6099997
0,6199997
0,6299997
0,6399997
0,6499997
0,6599997
0,6699997
0,6799996
0,6899996
0,6999996
0,7099996
0,7199996
0,7299996
0,7399996
0,7499996
0,7599996
0,7699996
0,7799996
0,7899995
0,7999995
0,8099995
0,8199995
0,8299995
0,8399995
0,8499995
0,8599995
0,8699995
0,8799995
0,8899994
0,8999994
0,9099994
0,9199994
0,9299994
0,9399994
0,9499994
0,9599994
0,9699994
0,9799994
0,9899994
0,9999993
1,009999
Люди добрые! Скажите пожалуйста, что глючит: IDE, я или что-то другое? И как исправить эту проблему? А то я уже мозг поломал, не знаю, откуда вообще эти числа взялись!
Среда - Visual Basic 6.0 (SP 6)