Publicidad

jueves, 24 de septiembre de 2015

Truncar y Redondear Flotantes en Python

Truncar y Redondear Flotantes en Python



    Eh creado esta entrada para mostrar estas 2 funciones muy útiles al momento de programar con Python, cual es la diferencia entre truncar y redondear, cuando truncamos un numero básicamente cortamos la cantidad a cierto numero de decimales sin importar si este podría redondearse hacia arriba o hacia abajo, lo que básicamente hacemos al redondear.

Para truncar un numero en python utilizamos la función format:
"{0:.4f}".format(12.05464897987)

# El resultado seria 12.0546
# En la expresión {0:.2f}, en el lado del valor del diccionario indicamos el numero de decimales.
# Seguido del metodo format y dentro la cantidad a truncar.

Para redondear un numero en pyhton utilizamos la función round:
round(12.05464897987,2)

# El resultado seria 12.0547
# Ejecutamos el metodo round y este recibe:
# - Cantidad
# - Numero de Decimales a redondear.

5 comentarios:

  1. puse en python round(12.05464897987,2) y da 12.05, no lo que ponen aquí(12.0547)

    ResponderEliminar
    Respuestas
    1. Para colocar 4 decimales, tienes que poner (val, 4), en val pones el numero a trabajar

      Eliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. Estoy probando en odoo 10 su sucede lo siguiente:
    Al usar cost_price = fields.Float(digits=(10,5)en .py inicialmente se muestra 5 dígitos, sin embargo al editar y hacer clic en el campo automáticamente regresa a 2 decimales... como truncar para mantener en 5 dígitos en la vista?

    ResponderEliminar