Hi,
echo '"'.$datensatz->max.'"';
erzeugt "0.5" (man beachte Punkt nicht Komma, und keine Leerstellen)
Der String wird direkt ausgegeben.
echo '"'.$datensatz->max * 24.'"';
erzeugt "0"
Der String wird, um ihn mit dem Integer multiplizieren zu können, in einen Integer gewandelt.
Welche Locale hast Du eingestellt? Ich hätte hier 24 erwartet - aber vielleicht ist in der verwendeten Locale der . kein Dezimaltrennzeichen ...
Oder es wird bei String->Integer-Umwandlung beim ersten nicht-Integer-Zeichen abgebrochen ...
echo '"'.($datensatz->max * 24).'"';
erzeugt "0"
Die Klammern dürfen keinen Unterschied zum vorherigen Fall machen.
echo '"'.(0.5 * 24).'"';
erzeugt "12" <- das gewünschte Ergebnis
Der Integer 24 wird für die Multiplikation mit dem Float nach Float gewandelt, dann gerechnet.
Was mache ich denn falsch?
Vermutlich ist der Fehler, daß $datensatz->max ein String ist.
cu,
Andreas
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.