Я делаю вычисления по дате и времени, используя числа с плавающей точкой.Тем не менее, я заметил, что расчетное значение не соответствует ожидаемому.Вот фрагмент кода.
Dim sTemp As Single, sLineDateTime As Single
Dim strTemp As String
strTemp = "2019-02-25"
sLineDateTime = DateValue(DateSerial(Left(strTemp, 4), Mid(strTemp, 6, 2), Right(strTemp, 2)))
strTemp = ""21:47:42"
REM TODO Time is being rounded off. Check
sTemp = TimeValue(TimeSerial(Left(strTemp, 2), Mid(strTemp, 4, 2), Right(strTemp, 2)))
sLineDateTime = sLineDateTime + sTemp
Результатом вышеприведенных вычислений является sLineDateTime = "43521.906250", который при преобразовании в дату / время равен "Пн 25-Фев-2019 09:45:00 PM".Ожидаемое действительное значение равно «43521,908125», что означает ошибку «0,001875000001746» или, другими словами, 2 минуты 42 секунды.Любые предложения о том, как я могу преодолеть эту проблему?