Hi,
wenn ich die länge von einer variable ermitteln will die nur text enthält geht das ja ganz einfach:
variable="asdfasfd";
alert(variable.length);
aber wie mache ich es wenn meine variable keinen text enthält sondern ziffern mit denen gerechnet werden muss?
variable=123;
Der mathematische Ansatz:
Wenn es sich um positive Integers handelt:
zahl = 123;
alert( Math.ceil(Math.log(zahl)/Math.log(10)) );
log(zahl)/log(10) ist der Zehnerlogarithmus (javascript kennt nur den natürlichen Logarithmus, aber log(x)/log(base) ergibt immer den logarithmus der Zahl zur Basis base).
Mit ceil erreichst Du, daß bei vorhandenen Nachkommastellen (außer nullen) die nächsthöhere Zahl genommen wird.
Wenn auch negative Zahlen dabei sind und es um die Ziffernzahl geht:
alert( Math.ceil(Math.log(Math.abs(zahl))/Math.log(10)) );
Der textuelle Ansatz:
zahl = 123;
alert(zahl.length);
Javascript kennt keine Datentypen, wandelt also bei Bedarf selbst um.
Andreas