Me he encontrado con un problema muy extraño en Python. (El uso de pitón 2.4.x)Problema de redondeo de Python
en Windows:
>>> a = 2292.5
>>> print '%.0f' % a
2293
Pero en Solaris:
>>> a = 2292.5
>>> print '%.0f' % a
2292
Pero este es el mismo en ambos Windows y Solaris:
>>> a = 1.5
>>> print '%.0f' % a
2
¿Alguien puede explicar este comportamiento? Supongo que depende de la plataforma en la forma en que se compiló Python.
Tenga en cuenta que si usted desea conseguir consistentemente la intuitiva redonda" lejos de cero "comportamiento, puede usar la función C99/POSIX.1-2001" roundf ". No estoy seguro de si hay enlaces para eso en Python, o si está disponible en absoluto en Windows; si es importante para usted, podría escribir un módulo C para incluir fácilmente una implementación de terceros. –