У меня есть две даты, и я могу рассчитать timedelta, как обычно.
Но я хочу рассчитать несколько процентов с полученной временной дельтой:
full_time = (100/percentage) * timdelta
Но, похоже, это можно только умножать на проценты.
Как я могу использовать float
вместо int
в качестве множителя?
Пример:
percentage = 43.27
passed_time = fromtimestamp(fileinfo.st_mtime) - fromtimestamp(fileinfo.st_ctime)
multiplier = 100 / percentage # 2.3110700254217702796394730760342
full_time = multiplier * passed_time # BUG: here comes exception
estimated_time = full_time - passed_time
Если используется int(multiplier)
— страдает точность.
full_time = passed_time * 100 / int(percentage)
- person Colin O'Coal   schedule 05.09.20122 != 2.3131
. Сравните:571 * 2 = 1142
(19,03(3) минуты);571 * 2.3131 = 1320,7801
(22,0130016(6) минут). Разница составляет около 3 минут (!) - person Крайст   schedule 05.09.2012