¿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.4
significa un ancho de 10 caracteres y una precisión de 4 decimales.10
es 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.format
of-strings
se prefiere sobre%
. Anteriormente, cuando era solostr.format
, la gente tenía algunas razones perof-strings
arreglaban 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
number
tener 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.656
Para 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.1f
medios 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.2f
tal que%6.3f
3 dígitos después del punto de imprimir.fuente
Necesitaba algo similar para las matrices. Eso me ayudo
fuente