truncar significativas redondear numero imprimir flotante float decimales cifras python string programming-languages floating-point

significativas - redondear un numero en python 3



Muestra un flotante con dos decimales en Python (6)

Tengo una función que toma argumentos float (generalmente enteros o decimales con un dígito significativo), y necesito dar salida a los valores en una cadena con dos decimales (5 -> 5.00, 5.5 -> 5.50, etc.). ¿Cómo puedo hacer esto en Python?


Dado que esta publicación puede estar aquí por un tiempo, también señalemos la sintaxis de Python 3:

"{0:.2f}".format(5)


Formato de cadena:

print "%.2f" % 5


Puede usar el operador de formateo de cadenas para eso:

>>> ''%.2f'' % 1.234 ''1.23'' >>> ''%.2f'' % 5.0 ''5.00''

El resultado del operador es una cadena, por lo que puede almacenarlo en una variable, imprimir, etc.


Usando la sintaxis de Python 3:

print(''%.2f'' % number)


Usar el formato de cadena de python.

>>> "%0.2f" % 3 ''3.00''


formato de f-string :

Esto es nuevo en Python 3.6 - la cadena se coloca entre comillas, precedida de f''... de la misma manera que r''... para una cadena sin formato. Luego coloque lo que quiera poner dentro de su cadena, variables, números, dentro de las llaves de f''some string text with a {variable} or {number} within that text'' - y Python lo evalúa como con los métodos anteriores de formateo de cadenas, excepto que esto método es mucho más legible.

>>>a = 3.141592 >>>print(f''My number is {a:.2f} - look at the nice rounding!'') My number is 3.14 - look at the nice rounding!

Puede ver en este ejemplo que formateamos con decimales de forma similar a los métodos de formateo de cadenas anteriores.

NB a puede ser un número, variable o incluso una expresión, por ejemplo, f''{3*my_func(3.14)}:02f}'' .