¿Cómo formateo un número flotante a un ancho fijo con los siguientes requisitos:
- Cero inicial si n <1
- Agregue cero (s) decimales finales para llenar el ancho fijo
- Truncar dígitos decimales más allá del ancho fijo
- Alinear todos los puntos decimales
Por ejemplo:
% formatter something like '{:06}'
numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]
for number in numbers:
print formatter.format(number)
La salida sería como
23.2300
0.1233
1.0000
4.2230
9887.2000
python
string
numbers
number-formatting
hobbes3
fuente
fuente

10.4significa un ancho de 10 caracteres y una precisión de 4 decimales.10es el ancho mínimo del campo, es decir, la longitud mínima de la cadena impresa. Por defecto, los números están alineados a la derecha y rellenados con espacios; consulte la documentación para obtener más detalles.("%0.4f" % x).rjust(10)"%10.4f" % x. En Python 2.6, también puedes usar"{0:10.4f}".format(x).Han pasado algunos años desde que esto fue respondido, pero a partir de Python 3.6 ( PEP498 ) podría usar el nuevo
f-strings:Huellas dactilares:
fuente
En python3 funciona lo siguiente:
fuente
%formateo es el método más antiguo de formateo. Por varias razones se usastr.formatof-stringsse prefiere sobre%. Anteriormente, cuando era solostr.format, la gente tenía algunas razones perof-stringsarreglaban ese agujero. formatee documentos en mini-lenguaje , ejemplos de formato de str de documentos y ejemplos de literales de f-string en documentosConsulte la sintaxis de cadena de formato Python 3.x :
fuente
También puedes dejar el pad con ceros. Por ejemplo, si desea
numbertener 9 caracteres de longitud, a la izquierda rellenos con ceros use:print('{:09.3f}'.format(number))Por lo tanto, si
number = 4.656, la salida es:00004.656Para su ejemplo, la salida se verá así:
huellas dactilares:
Un ejemplo en el que esto puede ser útil es cuando desea enumerar correctamente los nombres de los archivos en orden alfabético. Noté que en algunos sistemas Linux, el número es: 1,10,11, .. 2,20,21, ...
Por lo tanto, si desea aplicar el orden numérico necesario en los nombres de archivo, debe dejar el pad izquierdo con el número apropiado de ceros.
fuente
En Python 3.
6.1fmedios después de los puntos 1 dígitos muestran si imprime 2 dígitos después de que los puntos sólo se debe%6.2ftal que%6.3f3 dígitos después del punto de imprimir.fuente
Necesitaba algo similar para las matrices. Eso me ayudo
fuente