fastix®: Einer 4-stelligen Zahl vorangestellte 0len werden gestrichen

Beitrag lesen

Moin!

Wir müssen hier zwei Fälle unterscheiden:

Du willst mit der Zahl rechnen:

0017+10=27

Nimm es hin und stelle danach Deine Zahl wieder mit den führenden Nullen her:

function Xstellig (zahl,stellen)
   hilfsvariable = 1;
   for (i=0; i < stellen; i++) {
     hilfsvariable = hilfsvariable * 10;
     /* hilfsvariable wird: 10, 100, 1000 */
     if (zahl < hilfsvariable) {
       zahl = "0" + zahl;
     }
   }
return zahl;
/* gibt einen String zurück */
}

Wenn Du versucht die Zahl als String zu behandeln ergibt:
"0017"+"10"="001710"

Das erscheint den meisten noch verwirrender...

Gelegentlich kommt es zu genau dem gegenteiligen Problem:
X = "100";
X = X + 100;
-> X = 100100 (statt 200)

Hier hilft es den String umzuwandeln:

X = "100";
X = X * 1.0;
X = X + 100;
-> X=200

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix®

--
Meinereinerselbst ist auf der Suche nach Aufträgen