10.07.2013

Quick & Dirty - Optische Aufteilung von numerischen Werten durch Unterstriche

Der letzte Vortrag über die Neuerungen in Java 8 hat als nettes Detail auch eine einfache Möglichkeit zur optischen Aufteilung von numerischen Werten aufgedeckt.

Ich selber kannte den Trick noch nicht und nach ein wenig Recherche war mir klar, dass diese Möglichkeit auch erst mit Java 7 besteht und vorher noch nicht gegeben war.

Um was geht es also? Eine einfache Erläuterung anhand eines Beispiels zeigt, was genau gemeint ist.



Basis für das Beispiel ist ein einfaches Konto, heruntergebrochen auf ein minimales Modell. Keine Zinsen, keine Boni und auch keine sonstigen Vergünstigungen, Kosten oder was auch immer.



Und auf diesem Konto wird gearbeitet. Das Konto wurde irgendwann mal von den Eltern angelegt und wird mit einem gewissen Betrag versehen, je nachdem wie lieb einem das Kind ist.



Dann kommt Oma und füllt das Konto auf, ganz wie es aus dem realen Leben bekannt ist.
 

Bis dato war ja noch kein Problem erkennbar. Alle Zahlen sind gut erkennbar und es bereitet keine Probleme sich durch den Code zu hangeln. Jetzt kommt irgendwann aber Robert Geissen und adoptiert das liebe Kind. Schon steigt der Kontostand um ein Vielfaches:



Eine Menge Geld, allerdings total unübersichtlich. Und genau das lässt sich ändern. Seit Java 7 ist es möglich, dass Zahlen durch Unterstriche optisch getrennt werden.



Sieht doch direkt deutlich aufgeräumter und übersichtlicher aus. Unterstriche können innerhalb der Zahl beliebig häufig verwendet werden und haben keinen Einfluss auf das Ergebnis. Damit dies ersichtlicher wird, gibt es für das kleine Beispiel nach jeder Kontobewegung den neuen Kontostand.



Das funktioniert natürlich nicht nur für ganzzahlige Werte, sondern auch für Fließkommazahlen. Möchte also das Finanzamt seinen wohlverdienten Betrag von unserem kleinen Konto, so kann auch hier der Abzug übersichtlich dargestellt werden.



Bei einer Betrachtung außerhalb dieses kleinen Beispiels wird sicherlich auch der reale Einsatzzweck etwas klarer. Natürlich sollten damit nicht alle Zahlen unterteilt und nicht alle Möglichkeiten ausgeschöpft werden, aber dennoch ist der Einsatz für Konstanten oder auch größere lokale Werte eine nette Möglichkeit.

Und das sieht so doch auch gleich viel übersichtlicher aus, oder?