zahlen darstellen...

blubber

Erfahrenes Mitglied
Hi,

wenn ich folgende simple rechnung mache:

$a = 05;
$b = 02;

$c = $a + $b;

echo $c;

erhalte ich nicht "07" sondern "7". Ich will aber "07" haben :)

Kann mir bitte einer sagen wie das geht??

bye
 
hi,

erstmal danke für die antwort, aber irgendwie peil ich das noch nicht, mit den ganzen buchstaben die man da einsetzten kann etc.

könntest du vielleicht die zeile posten?? ist ja nur eine zeile.

also einfach wenn ich hab $c = 7;, dann soll bei

echo $c;

"07" erscheinen.
Wär dir sehr dankbar.

bye
 
Hab selbst auch noch nie was damit gemacht bin mal per zufall über die Funktion gestolpert... ich glaub so funktioniert das für deinen Fall:

$neu = sprintf ("%02d",$c);

Schau dir einfach noch die Beispiele und kommentare zur Funktion an!

tob
 
Aber aufpassen...
PHP:
$a = 05; 
$b = 02;
Das macht im Grunde nicht das, was du dir dabei vorstellst. Die Konstanten 05 und 02 fangen beide mit 0 an, und werden deswegen als Oktalzahlen interpretiert (1)

In dem Fall hat das jedoch keine Auswirkungen, da 5 und 2 oktal 5 und 2 dezimal entspricht. Spätestens ab 08 gibt's allerdings Probleme, bei mehrstelligen Zahlen erst recht.

Das nur so nebenbei, wird immer wieder gern falsch gemacht ;)


reima
 
öhm...aha, ich hab das aber mal ausprobiert, also mal 08 oder 09 genommen, das hat der trotzdem korrekt gemacht.

bye
 
Hm... *kopfkratz*

Also bei mir erzeugt folgendes simples Beispielscript die Ausgabe "0":
PHP:
<?
$a = 08;
$b = 09;

$c = $a + $b;

echo $c;
?>
Das ganze geht natürlich nur, wenn die das ganze als Zahlenvariable gehandhabt wird. Setzt man z.B. 08 in Anführungszeichen, geht's wieder "normal".


reima
 
hi,

du hast recht, dein letztes beispielt spuckt eine null aus. aber bei mir gehts trotzdem, wahrscheinlich, weil ich mir die zahlen aus einer datenbank hole, und sozusagen nur mit variable rechne !?

also

$a = $daten[zahl2];
$b = $daten[zahl1];

$c = $a + $b;

echo $c;

mein erstes Beispiel hatte ich nur gebracht, um net unnötig viel zu schreiben :), denn um mein Problem zu lösen, so dachte ich, ist es für euch ja irrelevant, ob ich meine zahl nun aus einer datenbank hole, oder direkt zuweise. Seis drum..:)

bye
 
Zurück