La documentación para la función round() indica que le pasa un número y las posiciones pasan del decimal al redondeo. Por lo tanto, debe hacer esto:round() en Python no parece estar redondeando correctamente
n = 5.59
round(n, 1) # 5.6
Pero, en realidad, un buen punto flotante rareza de edad se arrastra y se obtiene:
5.5999999999999996
A los efectos de la interfaz de usuario, que necesita mostrar 5.6
. Busqué en Internet y encontré algunos documentation que esto depende de mi implementación de Python. Desafortunadamente, esto ocurre tanto en mi máquina de desarrollo de Windows como en cada servidor Linux que he probado. See here also.
A falta de crear mi propia biblioteca redonda, ¿hay alguna forma de evitar esto?
yo probamos este con el pitón 2.7.11 redonda (5,59) y que está dando como resultado 5.6 en ambas ventanas y linux x86 máquina de 64 bit, Cython? (El enlace de documentación mencionado ahora se cambia) supongo) –
Donde en realidad no funciona correctamente es 'redondo (5.55, 1) = 5.5'. – Dmitry