Tengo una función que toma argumentos flotantes (generalmente enteros o decimales con un dígito significativo), y necesito generar los valores en una cadena con dos decimales (5 -> 5.00, 5.5 -> 5.50, etc.). ¿Cómo puedo hacer esto en Python?
python
string
programming-languages
floating-point
MarathonStudios
fuente
fuente
d=3
, entonces la sintaxis es"{:.{}f}".format(5, d)
formato de cadena f :
Esto era nuevo en Python 3.6: la cadena se coloca entre comillas como de costumbre, antepuesta
f'...
de la misma manera que lo haríar'...
para una cadena sin formato. Luego coloca lo que quieras poner dentro de tu cadena, variables, números, dentro de llavesf'some string text with a {variable} or {number} within that text'
, y Python evalúa como con los métodos de formateo de cadenas anteriores, excepto que este método es mucho más legible.Puede ver en este ejemplo que formateamos con decimales de manera similar a los métodos de formateo de cadenas anteriores.
NB
a
puede ser un número, una variable o incluso una expresión, por ejemplof'{3*my_func(3.14):02f}'
.En el futuro, con el nuevo código, prefiero las cadenas f sobre los métodos comunes% s o str.format (), ya que las cadenas f pueden ser mucho más legibles y, a menudo, mucho más rápidas .
fuente
Formato de cadena:
fuente
math.floor
,math.ceil
oround
Usando el formato de cadena de python.
fuente
Formato de cadena:
O
La función redonda se puede usar:
Lo bueno de round () es que podemos almacenar este resultado en otra variable y luego usarlo para otros fines.
fuente
round
. No debe usarse solo con fines de visualización .round(5.0001, 2)
->5.0
, no'5.00'
La sintaxis más corta de Python 3:
fuente
Si realmente desea cambiar el número en sí mismo en lugar de mostrarlo de manera diferente, use format ()
Formatee a 2 decimales:
ejemplo:
fuente
Sé que es una vieja pregunta, pero estaba luchando por encontrar la respuesta yo mismo. Esto es lo que se me ocurrió:
Python 3:
fuente
Usando la sintaxis de Python 3:
fuente
Si desea obtener un valor de coma flotante con dos decimales limitados al momento de llamar a la entrada,
Mira esto ~
fuente
eval
una cuerda cuando podrías simplementeround
? De todos modos, esto ni siquiera funciona correctamente, ya que si te alimentas5
, obtienes en5.0
lugar de lo5.00
que OP quiere.nan
yinf
.