[Python-es] Locate es_ES
Javier Perez
javierperez en perasalvino.es
Jue Ago 20 16:08:43 EDT 2020
Muchas gracias Pery, peor no me funciona igual: No me separa los miles.
No se. Uso Visual Studio Code peor por eso no creo que sea porque usando otro ide el resultado es el mismo.
He simplificado el código:
import locale
locale.setlocale(locale.LC_ALL, 'es_ES')
valor = 25400.57
print(f"{valor:n}")
print(f"{valor=:}")
Y me sale:
25400,6
valor=25400.57
Saludos,
--
Javier Pérez
http://es.linkedin.com/in/javierperez1
http://www.perasalvino.es/
> El 20 ago 2020, a las 17:09, PeRy <perysoy en gmail.com> escribió:
>
> Hola compañero, yo lo hago de la siguiente manera:
>
> In [1]: import locale
>
> In [2]: a = 25400.57
>
> In [3]: a
> Out[3]: 25400.57
>
> In [4]: locale.setlocale(locale.LC_ALL, 'es')
> Out[4]: 'es'
>
> In [5]: print(f'{a:n}')
> 25.400,6
>
> 'n'
> Number. This is the same as 'd', except that it uses the current locale setting to insert the appropriate number separator characters.
> https://docs.python.org/3/library/string.html#format-specification-mini-language
>
> espero que te sirva
>
> un saludo
>
> El jue., 20 ago. 2020 a las 14:00, Javier Perez (<javierperez en perasalvino.es>) escribió:
> Hola a todos, buenos días,
>
>
> En la aplicación que estoy desarrollando extraigo una serie de datos de una web que es americana. Me gustaría pasar esos datos a formato español. Vamos, cambiar el punto decimal por una coma.
>
> No es por el origen de los datos porque he creado una variable con decimales y me la muestra mal.
>
> ¿qué estoy haciendo mal?
>
>
>
> El programa es este:
> import pprint
> from gazpacho import get, Soup
> import locale
> locale.setlocale(locale.LC_ALL, 'es_ES')
>
> valor = 0
> url = "https://markets.ft.com/data/funds/tearsheet/risk?s=LU0275692696:EUR"
> html = get(url)
> gazpacho_soup = Soup(html)
> valor = gazpacho_soup.find(
> 'span', attrs={'class': 'mod-ui-data-list__value'})[0].text
> valor = valor.replace(",", "")
> valor = float(valor)
> valor = valor * 1000
> anual = gazpacho_soup.find(
> 'span', attrs={'class': 'mod-ui-data-list__value'})[2].text
> anual = anual.replace("%", "")
> anual = float(anual)
> moneda = 15268.57
> alpha = gazpacho_soup.find('td')[1].text
> alpha = float(alpha)
> beta = gazpacho_soup.find('td')[4].text
> beta = float(beta)
>
>
> print(valor)
> print(anual)
> print(alpha)
> print(moneda)
> print(beta)
>
> configuracion = locale.localeconv()
>
> # Imprimir definiciones con pprint para una lectura agradable:
> imprimir = pprint.PrettyPrinter()
> imprimir.pprint(configuracion)
>
>
>
> Y lo que genera es:
> 25910.0
> 4.18
> -18.87
> 15268.57
> 0.94
> {'currency_symbol': 'Eu',
> 'decimal_point': ',',
> 'frac_digits': 2,
> 'grouping': [127],
> 'int_curr_symbol': 'EUR ',
> 'int_frac_digits': 2,
> 'mon_decimal_point': ',',
> 'mon_grouping': [3, 3, 0],
> 'mon_thousands_sep': '.',
> 'n_cs_precedes': 0,
> 'n_sep_by_space': 1,
> 'n_sign_posn': 1,
> 'negative_sign': '-',
> 'p_cs_precedes': 0,
> 'p_sep_by_space': 1,
> 'p_sign_posn': 1,
> 'positive_sign': '',
> 'thousands_sep': ''}
>
> Saludos,
>
> --
> Javier Pérez
> http://es.linkedin.com/in/javierperez1
> http://www.perasalvino.es/
>
>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
Más información sobre la lista de distribución Python-es