Devolver un numero formateado con separadores de miles y decimales
Publicado por xve (1646 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.
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:
y nos devolver algo como:
Si el locale que deseamos utilizar no se encuentra, tendremos que seleccionarlo con la instrucción (como root):
y seleccionar todos los locale que deseamos.
Espero que os haya servido de ayuda.
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
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
Espero que os haya servido de ayuda.
Valora esta pregunta


1