Zahlen mit Trennzeichen formatieren

Python 3.6.2 bringt beinhaltet diverse neue Features. Eines davon ist die Möglichkeit Zahlen mit Unterstrichen übersichtlicher zu formatieren. Anschließend sehen wir uns an, wie Zahlen auch bei der Ausgabe mit Trennzeichen versehen werden können.

Wer in der Software Entwicklung Zahlen verwendet ist oft dazu genötigt zwei mal hinzusehen. Hat meine meine Wertzuweisung wirklich neun Nullen? Wer in Zukunft in Python den Wert für eine Milliarde schreiben will tut sich nun erheblich leichter. PEP 515 erlaubt die Verwendung von Unterstrichen in Zahlen.

Nachfolgend sind einige Typische Anwendungsbeispiele zu finden. Dezimalzahlen können mit der üblichen Tausender Trennung formatiert werden. Hex – und Binärzahlen mit einer Trennung nach jeweils 8 bzw. 4 Bit. Eine Trennung kann auch innerhalb eines Strings erfolgen, der mit int() in eine Zahl konvertiert wird.

Ausgabe:

Für die Ausgabe steht uns (noch) keine Standardfunktion zur Verfügung. Dazu helfen wir uns selbst und implementieren die Funktion format_number(num, num_type = 'dec', sep = '_'). Diese Funktion bekommt eine Zahl, erzeugt daraus einen String und durchläuft diesen von hinten nach vorne. Im Abstand von dist wird der entsprechende Trennstring (sep) eingefügt. Zum Schluss wird der formatierte String wieder in die richtige Reihenfolge gebracht und zurückgegeben. Standardmäßig wird die Zahl im Dezimalformat formatiert. Der User kann jedoch auch das Hexadezimal Format oder das Binärformat wählen. Des Weiteren ist es möglich, den String für die Trennung festzulegen.

Zum Test unserer Funktion berechnen wir den Energiegehalt von 10 000 kg Masse mit der Formel E = m*c**2 und geben das Ergebnis in drei verschiedenen Formaten aus.

Ausgabe:

Das komplette Beispiel herunterladen: python_zahlen.zip

Über Anton Neururer 31 Artikel
Ich bin Programmierer und Blogger. Themen die mich besonders interessieren sind Python, C++ und Javascript. Des Weiteren befasse ich mich mit Fraktalen.

Hinterlasse jetzt einen Kommentar

Kommentar hinterlassen