Seite 1 von 1

tkinter: deutsche Formatierung von Zahlen

Verfasst: Samstag 28. Januar 2017, 18:52
von ManfredMayr
Wie schaffe ich es, in einer tkinter-Maske, die Zahlen "deutsch" eingeben und ausgeben zu lassen?
Ich möchte also nicht "1.2" eingeben müssen, sondern "1,2" und das Programm soll eben auch z.B. "1.234,56" ausgeben und nicht etwa "1234.56".
locale.setlocale(locale.LC_ALL, "de") half nicht.

Ich bitte um Unterstützung
Manfred

Re: tkinter: deutsche Formatierung von Zahlen

Verfasst: Samstag 28. Januar 2017, 19:22
von BlackJack
@ManfredMayr: Das `locale`-Modul hast Du ja schon gefunden. Schau mal was es da noch so an Funktionen gibt.

Re: tkinter: deutsche Formatierung von Zahlen

Verfasst: Samstag 28. Januar 2017, 20:46
von ManfredMayr
@BlackJack

Sorry, ich verstehe deinen Hinweis nicht. setlocale() hab ich ja schon ausprobiert.
localeconv() gibt auch die für DE korrekten Werte retour:
{'mon_grouping': [3, 0], 'n_sign_posn': 1, 'currency_symbol': '€', 'mon_thousands_sep': '.', 'negative_sign': '-', 'n_sep_by_space': 1, 'int_curr_symbol': 'EUR', 'n_cs_precedes': 0, 'p_sep_by_space': 1, 'p_cs_precedes': 0, 'positive_sign': '', 'int_frac_digits': 2, 'decimal_point': ',', 'frac_digits': 2, 'grouping': [3, 0], 'p_sign_posn': 1, 'mon_decimal_point': ',', 'thousands_sep': '.'}

Aber in der Maske werden die Zahlen immer noch ohne Tausender-Punkt und mit Dezimal-Punkt statt mit -Komma angezeigt.

Manfred

Re: tkinter: deutsche Formatierung von Zahlen

Verfasst: Samstag 28. Januar 2017, 20:56
von Sirius3
@ManfredMayr: schau doch mal, was es im Modul `locale` noch so für Funktionen gibt.

Code: Alles auswählen

>>> locale.format('%.2f', 42.34)
'42,34'

Re: tkinter: deutsche Formatierung von Zahlen

Verfasst: Sonntag 29. Januar 2017, 10:10
von ManfredMayr
@BlackJack

Ok, jetzt versteh ich!
Ich bin davon ausgegangen, dass tkinter das für mich erledigt und nicht, dass ich das selbst ausprogrammieren muss.

Danke!
Manfred