Hallo Maresa,
ich suche eine Funktion, die mir einen Preis in folgendes Format formatiert:
XX,XX (also mit Komma getrennt und 2 Dezimalstellen nach dem Komma, die Anzahl der Stellen vor dem Komma ist irrelevant)
Die Funktion muss Komma- und Punktwerte verarbeiten können.
In PHP gibt es mindestens zwei Möglichkeiten, eine Zahl mit Nachkommastellen zu formatieren:
number_format()
und
sprintf()
Mit sprintf() könnte die Funktion so realisiert werden:
function preis_format(
$wert
) {
// Komma auswerten
return( sprintf('%01,2f', $wert) );
}
... und mit number_format() so:
function preis_format(
$wert
) {
// Komma auswerten
return( number_format($wert, 2, ',') );
}
Den Kommentar "Komma auswerten" kannst du in beiden Funktionen so ersetzen:
// Hat $wert das richtige Format?
if( !preg_match('/\A\d+([,.]\d+)\Z/') ) {
trigger_error('$wert entspricht nicht den Vorgaben!', E_USER_WARNING);
return(FALSE);
}
// Zahlen mit Komma in richtige "Float"-Zahlen umwandeln
if( !is_float($wert) ) {
list($int, $frac) = explode(',', $wert);
$wert = floatval($int.'.'.$frac);
}
MffG
EisFuX
--
Auch meine Hosenträger sind intelligent, in dem Sinne, dass man sie regulieren kann. Sie besitzen ein adaptives Verhalten.
Stanisław Lem
Auch meine Hosenträger sind intelligent, in dem Sinne, dass man sie regulieren kann. Sie besitzen ein adaptives Verhalten.
Stanisław Lem