Formato de enteros en Python

Tal como sucede con las cadenas de texto, el formato de enteros (valores del tipo int) también es posible en Python. En este post presentaremos algunos casos posibles e ilustraremos mediante ejemplos. Tal como en ocasiones anteriores, también utilizaremos la función format().

Formato de enteros

En esta sección examinaremos los siguientes casos:

  1. Representación de un número entero en distintas bases
  2. Especificación de un caracter como separador de miles
  3. Expresión de porcentajes

Cada uno de los ejemplos que presentamos a continuación aparece en la Fig. 1 al final.

¡Comencemos!

Representación de enteros en distintas bases

La siguiente cadena de texto nos permitirá convertir el número 35 a su correspondiente representación en base 16 (hexadecimal), base 8 (octal), y base 2 (binario). Además, podemos incluir strings arbitrarios que nos permitan aclarar qué representan los resultados obtenidos por cada conversión:

'Entero: {0:d}; Hexadecimal: {0:x}; Octal: {0:o}; Binario: {0:b}'.format(35)

Dentro de las llaves podemos observar un 0 (que hace referencia al argumento pasado a la función format()) y una letra que especifica el formato.

Especificación de un separador de miles

De acuerdo al locale que estemos utilizando, es bien sabido que en algunos casos el separador de miles es el punto (.) y en otros se utiliza la coma (,).  ¿Cómo indicamos el caracter que deseamos utilizar para este propósito? Muy simple: simplemente utilizaremos el ya conocido par de llaves de la siguiente manera:

'{:,}'.format(4512342341)

El resultado será una cadena de texto que podremos usar como hemos explicado en otras ocasiones.

Expresión de porcentajes

Al calcular un valor que deseamos expresar como porcentaje, podemos elegir la cantidad de decimales significativos e incluso realizar el cálculo utilizando variables como argumento a la función format(). Aparte de las llaves y de los dos puntos (:), debemos indicar la cantidad de dígitos significativos y el signo %. Por ejemplo,

respuestasCorrectas = 29
totalPreguntas = 35
'La calificación (con dos decimales significativos) es: {:.2%}'.format(respuestasCorrectas/totalPreguntas)
'La calificación (con cuatro decimales significativos) es: {:.4%}'.format(respuestasCorrectas/totalPreguntas)

Finalmente, en la Fig. 1 vemos los resultados de los ejemplos expuestos en este post.

Ejemplos de formato de enteros
Figura 1 – Ejemplos de formato de enteros

¡Nos leemos en breve!