2010-08-03 12 views

Respuesta

91

¿Estás tratando de representarlo con un solo dígito:

print "%.1f" % number 

o en realidad completan las otras cifras decimales?

round(number,1) 

o incluso ronda estrictamente hacia abajo?

math.floor(number*10)/10 
+0

¿Hay alguna posibilidad de que su primera y tercera solución da resultados diferentes? Creo que ambos son exactamente los mismos @relet –

+0

Pruebe number = -2.55. También devuelven diferentes tipos. – relet

+0

@DeveshSaini prueba el número 2.36. Primero dará 2.4, 3nd dará 2.3 –

14
>>> "{0:0.1f}".format(45.34531) 
'45.3' 

O utilice la orden interna redonda:

>>> round(45.34531, 1) 
45.299999999999997 
+4

Actualización: Round me da 45.3 ahora. – Nathan

Cuestiones relacionadas