Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Zeichenfolgen mit Punkten und Kommas als Tausender- und Dezimaltrennzeichen in Gleitkommazahlen in Python konvertieren?

Wie kann ich Zeichenfolgen mit Punkten und Kommas als Tausender- und Dezimaltrennzeichen in Gleitkommazahlen in Python konvertieren?

Linda Hamilton
Freigeben: 2024-11-26 04:55:14
Original
175 Leute haben es durchsucht

How Can I Convert Strings with Dots and Commas as Thousands and Decimal Separators to Floats in Python?

Konvertieren von Strings mit Punkt und Komma in Floats in Python

Einführung

Oft liegen Daten in einem Format vor, in dem Zahlen durch Punkte dargestellt werden (.) als Tausendertrennzeichen und Kommas (,) als Dezimaltrennzeichen. Um mathematische Operationen an solchen Daten durchzuführen, müssen diese in ein Gleitkommaformat konvertiert werden. In diesem Artikel wird erläutert, wie diese Konvertierung in Python erreicht wird.

Lokalisierungsdienste verwenden

Das Standardgebietsschema

Das Gebietsschemamodul von Python bietet eine Schnittstelle für den Zugriff auf plattformspezifische Lokalisierungseinstellungen. Standardmäßig geht Python von einem „C“-Gebietsschema aus, in dem Punkte nicht als Tausendertrennzeichen erkannt werden. Damit Python Punkte als Trennzeichen erkennt, legen Sie das Gebietsschema so fest, dass es den bevorzugten Einstellungen des Benutzers entspricht:

import locale
locale.setlocale(locale.LC_ALL, '')
Nach dem Login kopieren

Dieser Aufruf weist Python an, die bevorzugten Gebietsschemaeinstellungen des Benutzers zu verwenden, die Punkte normalerweise als Tausendertrennzeichen erkennen. Jetzt kann locale.atof verwendet werden, um die Zeichenfolge in eine Gleitkommazahl umzuwandeln:

locale.atof('123,456.789')
Nach dem Login kopieren

Verwenden eines bestimmten Gebietsschemas

Anstatt die bevorzugten Einstellungen des Benutzers zu verwenden, können Sie ein bestimmtes Gebietsschema angeben verwenden. Um beispielsweise das dänische Gebietsschema zu verwenden, in dem Punkte als Tausendertrennzeichen und Kommas als Dezimalpunkte verwendet werden, verwenden Sie Folgendes:

locale.setlocale(locale.LC_NUMERIC, 'en_DK.UTF-8')
Nach dem Login kopieren

Vorbehalte

Das Ändern der Gebietsschemaeinstellungen kann Nebenwirkungen haben und ist auch nicht zulässig nicht threadsicher. Vermeiden Sie es, das Gebietsschema innerhalb von Funktionen oder Bibliotheken festzulegen, die möglicherweise in Thread-Umgebungen verwendet werden. Darüber hinaus sollten Erweiterungsmodule (C-Module) setlocale nicht aufrufen, um unerwartetes Verhalten zu vermeiden.

Fazit

Durch die Nutzung von Lokalisierungsdiensten kann Python Zeichenfolgen mit Punkt und Komma in Gleitkommazahlen umwandeln, was eine nahtlose Konvertierung ermöglicht von lokalisierten numerischen Daten. Es ist jedoch wichtig, die oben genannten Einschränkungen zu berücksichtigen und die Lokalisierungsdienste angemessen zu nutzen.

Das obige ist der detaillierte Inhalt vonWie kann ich Zeichenfolgen mit Punkten und Kommas als Tausender- und Dezimaltrennzeichen in Gleitkommazahlen in Python konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage