238328
03.06.2012 13:53
Оказывается, округление, которое реализовано в 3.х(а еще в дуднетах и руби) более правильное и рекомендовано стандартом IEEE 754 для дефолтного округления.
Если непонятно, почему такое округление лучше, то вот код:
Сложим некоторый равнораспределенный ряд чисел от 0 до 100:
>>> sum(i + 0.5 for i in range(100))
5000.0
Теперь, если мы округлим значения этих чисел, то получим
1) В питон 3.2:
>>> sum(round(i + 0.5) for i in range(100))
5000 # Правильный результат
2) В питон 2.7:
>>> sum(round(i + 0.5) for i in range(100))
5050.0 # Отклонение, а оно нам не надо.
/me чувствует здесь наёбку
што?
@ulidtko IEEE 754 не читал, куда мне
статьи википедии о режимах округления достаточно