Python - Devolver un numero formateado con separadores de miles y decimales

   
Vista:
Imágen de perfil de xve

Devolver un numero formateado con separadores de miles y decimales

Publicado por xve (1229 intervenciones) el 23/02/2015 15:34:47
Si en algún momento os encontráis con la necesidad de formatear un numero con los separadores de miles y los decimales, una de las maneras es utilizando el locale de la maquina.

1
2
3
4
5
6
7
8
# cargamos la libreria
import locales
 
# Definimos el formato que deseamos
locale.setlocale(locale.LC_ALL, "es_ES.utf-8")
 
# formateamos el numero 123456.789 con dos decimales
locale.format("%.*f", (2,123456.789), True)

En este caso, nos devolverá: '123.456,79'



Si al definir el formato que deseamos nos da un error del tipo: Error: unsupported locale setting eso significa que no disponemos del mismo en nuestro sistema operativo.

En linux, para ver que locales tenemos configurador, hay que escribir en la consola:
1
locale -a
y nos devolver algo como:
1
2
3
4
5
6
7
C
C.UTF-8
en_US.utf8
es_ES@euro
es_ES.iso885915@euro
es_ES.utf8
POSIX

Si el locale que deseamos utilizar no se encuentra, tendremos que seleccionarlo con la instrucción (como root):
1
dpkg-reconfigure locales
y seleccionar todos los locale que deseamos.


Espero que os haya servido de ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder