¿Cómo redondear exactamente a N dígitos después del decimal en Python? [duplicar]

Resuelto Đỗ Quốc Khánh asked hace 9 meses • 0 respuestas

¿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?

Đỗ Quốc Khánh avatar Feb 16 '24 20:02 Đỗ Quốc Khánh
Aceptado

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 Ndígitos después del punto decimal. El ffinal 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).

msalam avatar Feb 16 '2024 13:02 msalam