[Python-es] Locate es_ES

PeRy perysoy en gmail.com
Vie Ago 21 09:06:42 EDT 2020


prueba con el locale:

locale.format_string('%d', valor, 1)

Salu2!!

El jue., 20 ago. 2020 a las 22:09, Javier Perez (<javierperez en perasalvino.es>)
escribió:

> 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
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20200821/9a439177/attachment.html>


Más información sobre la lista de distribución Python-es