Hallo Falk,
Ich hasse Sprachen, die selber glauben, Typumwandlungen vonehmen zu müssen... wie Javascript...;)
das kann ich nachvollziehen; mir sind Sprachen mit einer strengeren Typisierung wie z.B. C auch lieber. Aber was hilft's ...
while(z>0){
i=j*(testnummer.substr(z-1,1));
alert(i);
//>> PROBLEM: In der While-Schleife sind die Nullen
// (in dem Falle die hinteren) schon abgeschnitten
// selbst mit dreckigen Tricks a la
// testnummer=testnummer+"";
Hm, an der Stelle bist du aber selbst schuld. Versuche, den Ausdruck schrittweise anzugehen:
testnummer: string
testnummer.substr(): string
j*testnummer.substr(): number
Erst durch die Multiplikation, die für String-Operanden nicht definiert ist, erfolgt eine implizite Umwandlung in 'number'. Wenn du also mit den String-Eigenschaften arbeiten willst, z.B. dass die führenden Nullen wie eingegeben erhalten bleiben, darfst du keine Operation durchführen, die eine Umwandlung erzwingt.
Vielleicht kannst du aber dein eigentliches Problem etwas anders angehen, so dass diese Widrigkeiten gar nicht ins Spiel kommen? Beschreib doch mal, was du genau vorhast, dann kann man sicher irgendwas geschickt umbauen.
Ciao,
Martin
Niemand lebt allein von seinen Träumen.
Aber wer träumt, lebt noch.