molily: Warum wird der String nicht in eine Zahl umgewandelt?

Beitrag lesen

Hallo,

var hoehe = getComputedStyle("rand", null).getPropertyValue("width");

getComputedStyle erwartet ein Elementobjekt als ersten Parameter, keinen String. Und wieso nennst du die Variable Höhe, wenn du die Breite ausliest? ;)

Vermutung: In manchen Browsern gibt getComputedStyle Kommazahlen für Pixelwerte zurück.

parseFloat(hoehe);
breite +=2;

Wenn ich dann mit dem alert Befehl die Variable Breite anzeige, wird es mir so angezeigt: 200.2!

Wenn deine Vermutung stimmt, dass der Wert vom Typ String ist, dann muss er vorher "200." gewesen sein – sehr unwahrscheinlich. Wäre er "200", käme stattdessen "2002" heraus, wenn du "2" anhängst.

Mit parseFloat müsste die Variable doch in eine Zahl umgewandelt worden sein.

Es ist wahrscheinlich eine Zahl – nur offenbar keine ganze Zahl. Wenn du eine ganze Zahl brauchst, verwende http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#parse_int@title=parseInt.

Mathias