Найти тему
14 подписчиков

А вы знали?


Тип float часто бывает очень неточным. See also: IEEE 754
Но многие даже не представляют насколько. Вот вам пример, чем больше чисел ты складываешь, тем больше ошибка:

sum([.9] * 1_000)
# 899.9999999999849

sum([.9] * 1_000_000)
# 900000.0000153045

Если вы хотите убрать ошибку при сложении множества флоутов в списке, вам поможет math.fsum:

import math

math.fsum([.9] * 1_000_000)
# 900000.0
Около минуты