Округление с целочисленным делением

Есть ли простой питонический способ округления до ближайшего целого числа без использования плавающей точки? я бы хотел сделать следующее, но с целочисленной арифметикой:

skip = int(round(1.0 * total / surplus))

==============

@John: Плавающая точка не воспроизводится на разных платформах. Если вы хотите, чтобы ваш код прошел тесты на разных платформах, то вам нужно избегать операций с плавающей запятой (или добавить к своим тестам какие-то хитрые штуки espilon и надеяться, что это сработает). Приведенное выше может быть достаточно простым, чтобы оно было одинаковым на большинстве / всех платформах, но я Я бы предпочел не делать этого определения, так как легче вообще избежать операций с плавающей запятой. Как это «не в духе Python»?

23
задан gaefan 18 October 2010 в 18:33
поделиться