Hi Leute,
sorry für die offensichtlich mehrdeutig gestellte Frage!
Wie es aussieht bin ich mindestens 1x richtig verstanden worden. :-)
Ich habe ihn so verstanden.
1,1000 -> 1,10
2,0000 -> 2? (laut Überschrift, vielleicht auch 2,00)
2,00
5,2457 -> 5,2457
2,1730 -> 2,173
Sprich: Zwei Nachkommastellen sollen immer ausgegeben werden, wenn es darüber hinaus von 0 abweichende Stellen gibt, dann sollen diese ebenfalls ausgegeben werden.
Alternativ könnte man auch immer entweder 2 oder 4 Nachkommastellen ausgeben - selbst, wenn nur drei Stellen vergeben sind.
1,1000 -> 1,10
2,0000 -> 2,00
5,2457 -> 5,2457
2,1730 -> 2,1730
Ob letzteres nun mit drei oder vier Stellen ausgegeben wird ist zweitrangig.
Natürlich könnte ich das ganze schon kompliziert zusammenbauen, in etwa wie folgt - aber ich wäre auf der Suche nach einer eleganteren und potentiell ressourcensparenderen Lösung.
$zahl = ...
$zahl_formatiert = number_format();
if($zahl == $zahl_formatiert) print($zahl_formatiert);
else print($zahl);
Dürfte funktionieren, ist aber natürlich sehr unsauber, weil es damit spielt, dass PHP das mit den Variablentypen nicht so genau nimmt...
Danke auf jeden Fall schon mal für eure ganzen Antworten - und vielleicht kann mir ja nun, da die Frage anhand von Beispielen verdeutlich ist - jemand noch nen Tipp geben? Den printf()-Tipp teste ich gerade noch... vielleicht war das auch schon der entscheidende Hinweis!
Tobias