¿Cómo redondear exactamente a N dígitos después del decimal en Python? [duplicar]
¿Hay alguna manera de redondear un número, cualquier número, a N dígitos después del decimal? Por ejemplo, el número 8 y N = 3, entonces debería ser como 8,000 o 6,9 y N = 3, debería ser 6,900. Lo siento si debería haber sido obvio, soy un principiante.
Usé la
round(num,N)
función: pero para números enteros y números que tienen menos de N dígitos decimales, no hizo nada. ¿Alguien puede ayudarme?
En Python, la round()
función no agregará ceros al final. Si desea formatear un número para que tenga una cantidad específica de dígitos después del punto decimal, puede usar el formato de cadena. Así es como puedes hacerlo:
num = 8
N = 3
formatted_num = f"{num:.{N}f}"
print(formatted_num) # Outputs: 8.000
En este código, f"{num:.{N}f}"
hay un literal de cadena formateado (también conocido como cadena f). El {num:.{N}f}
interior de la cadena f es un marcador de posición que se reemplaza con el valor de num
, formateado como un número de punto flotante con N
dígitos después del punto decimal. El f
final del marcador de posición significa "flotante" y el .
anterior se utiliza para especificar la precisión (el número de dígitos después del punto decimal).