Добрый вечер.
Вопрос простой, но поставил в ступор. Имеется простой цикл с шагом в 0.01.
Вопрос в том, что при прибавлении к переменной очередной шаг 0.01, по факту переменная имеет другое значение.
Например, при прибавлении к 1.06 получается 1,06999993324279. и т.д. А по факту должно быть 1,07.
В ячейку также записывается число с длинным хвостом.
Что не так в данном макросе?
Вопрос простой, но поставил в ступор. Имеется простой цикл с шагом в 0.01.
Код |
---|
Sub Диаграмма() Dim a As Single Dim i As Long i = 0 Application.Calculation = xlCalculationManual For a = 1.06 To 9.25 Step 0.01 i = i + 1 Cells(1, 1) = a Calculate Cells(i, 2) = Cells(1, 1) Application.StatusBar = a Next a Application.Calculation = xlCalculationAutomatic Application.StatusBar = False MsgBox "всё" End Sub |
Например, при прибавлении к 1.06 получается 1,06999993324279. и т.д. А по факту должно быть 1,07.
В ячейку также записывается число с длинным хвостом.
Что не так в данном макросе?
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.