Dar formato a un float para mostrar sólo dos decimales en Python

A la hora de trabajar con números decimales en cualquier lenguaje nos topamos con la necesidad de darles un formato adecuado en muchas ocasiones (por ejemplo si trabajamos con valores monetarios, con estaturas, etc) para presentar un resultado en pantalla. El más habitual es recortar o redondear los decimales para mostrar sólo dos. ¿Cómo podemos hacer esto en Python? Con la función format() y los operadores de formateo de cadenas es muy simple:

#Formateamos 5.1234554321
print "{0:.2f}".format(5.1234554321)
#El resultado sería
>>5.12
#¿Y si queremos tres?
print "{0:.3f}".format(5.1234554321)
#El resultado sería
>>5.123
Anuncio publicitario

11 comentarios en “Dar formato a un float para mostrar sólo dos decimales en Python

  1. Round a veces tiene ciertos problemas, por ejemplo, si le pido aproximar el número entero «5» a 2 o 3 o las cifras decimales que sean, siempre arrojará «5.0» (en python 3). En cambio con este método pude hacer que aparecieran cuantos ceros quisiera después del punto.

    Muchas gracias, me sirvió mucho.

  2. devilsito

    Esa forma de dar el formato me parece fea y sucia,..no es como otros lenguajes. Es muy intrincada y difícil de recordar.
    “{0:.2f}”.format(5.1234554321)
    Es espantosamente poco cómoda. ¿Como seria formatear una variable que contenga un valor?
    ¿Existira otra forma mas sencilla, parecidoa otros lenguajes de programación?

    gabrielaraya2011@gmail.com

  3. David Ariza

    compañeros, a mi parecer la manera mas simple es usar lo que esta por defecto en python 3.6+
    «`
    variable = 1.23456789
    print(f» el valor con dos decimales es {variable:.2f}»)
    «`
    explico:
    print = muestra el valor
    f= formatea el código para presentarlo como string
    { variable } = interpreta el nombre como una variable y llama su valor
    { :.2f }= convierte el valor para tener solo 2 floats, si cambio por .3f, pues serán 3 floats, y así sucesivamente. cualquier duda en que pueda ayudarlos quedo atento

  4. Ariano David

    Excelente!!! Llevaba una semana haciendo un ejercicio para unos estudios y necesitaba que el resultara arrojara «n.00» y sólo me mostraba el primer cero. Pero gracias a este código pude obtener el resultado deseado. Gracias!

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.