Linksseitig alle 0 entfernen
Charlie
- php
Hi,
wie kann ich in PHP alle 0(NULL), von einem String, linbksseitig entfernen?
danke+lg
Charlie
Hello,
wie kann ich in PHP alle 0(NULL), von einem String, linbksseitig entfernen?
von einem alphanumerischen String, oder von einem numerischen String?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Aloa,
von einem alphanumerischen String, oder von einem numerischen String?
von einem nummerischen String.
danke+lg
Charlie
Hello,
von einem alphanumerischen String, oder von einem numerischen String?
von einem nummerischen String.
$zahl = intval($zahl);
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo,
von einem alphanumerischen String, oder von einem numerischen String?
Beidesmal durch Addition mit 0 und die damit verbundene Umwandlung in einen numerischen Wert, der m.E. gar keine linksseitigen Nullen besitzen _kann_, oder?
Gruß
Lachgas
Hello,
von einem alphanumerischen String, oder von einem numerischen String?
Beidesmal durch Addition mit 0 und die damit verbundene Umwandlung in einen numerischen Wert, der m.E. gar keine linksseitigen Nullen besitzen _kann_, oder?
Hier hast Du wohl auch die bessere Karte gezogen.
Denn intval würde auch die [Nachkomma|Nachpunkt]-stellen abschneiden. Die automatische Typumwandlung würde sie aber nicht verschlucken. Fiel mir auch erst in dem Moment ein, als ich Submit drückte...
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Aloa,
Hier hast Du wohl auch die bessere Karte gezogen.
Denn intval würde auch die [Nachkomma|Nachpunkt]-stellen abschneiden. Die automatische Typumwandlung würde sie aber nicht verschlucken. Fiel mir auch erst in dem Moment ein, als ich Submit drückte...
sorry, aber da komm ich als Newbie nicht ganz mit.
Was soll ich anstatt intval() benutzen?
danke+lg
Charlie
Aloa,
sorry, aber da komm ich als Newbie nicht ganz mit.
Was soll ich anstatt intval() benutzen?
nochmals sorry.
Ich hab das Posting mit ltrim() übersehen.
Mit dem funkt es wunderbar.
danke+lg
Charlie
Hallo,
nochmals sorry.
Ich hab das Posting mit ltrim() übersehen.
Mit dem funkt es wunderbar.
Es "funkt"? Armer Webserver ;-)
Der einzige Nachteil von ltrim() besteht darin, dass der String ein String bleibt und nicht numerisch wird. (Vielleicht ist das für dich ja auch ein Vorteil?)
Gruß
Lachgas
Hallo!
Der einzige Nachteil von ltrim() besteht darin, dass der String ein String bleibt und nicht numerisch wird. (Vielleicht ist das für dich ja auch ein Vorteil?)
Und warum ist das ein Nachteil?
Grüße
Andreas
Hallo,
Und warum ist das ein Nachteil?
Du hast Recht, wenn die Zahl einfach nur ausgegeben werden soll ist das kein Nachteil. Aber wenn er seine Werte gleich in einen numerischen Typen umwandelt (integer oder double), kann er damit besser 'rechnen'.
Aber in dem Fall ist es im Prinzip eine "Geschmacksfrage".
Gruß
Lachgas
Hallo!
Und warum ist das ein Nachteil?
Du hast Recht, wenn die Zahl einfach nur ausgegeben werden soll ist das kein Nachteil. Aber wenn er seine Werte gleich in einen numerischen Typen umwandelt (integer oder double), kann er damit besser 'rechnen'.
Abgesehen von dem was Sven schrieb ist das so eine Sache mit der (vereinfachten) Theorie und der "Computer-Wirklichkeit".
Beispiel:
php -r "echo (0.1 + 0.7) * 10;"
ergibt bekanntlich "8", aber
php -r "echo intval((0.1 + 0.7) * 10);"
ergibt dagegen "7", siehe http://de3.php.net/types.float.
Da ich derartige Probleme bereits in der Praxis hatte, vermeide ich "Rechnerei" und Typenumwandlungen wo es nur geht. Vor allem wenn es nur um die Ausgabe geht. Mag sein dass dies nicht so elegant ist, aber das ist mir ziemlich egal ;-)
Grüße
Andreas
Aloa,
Der einzige Nachteil von ltrim() besteht darin, dass der String ein String bleibt und nicht numerisch wird. (Vielleicht ist das für dich ja auch ein Vorteil?)
Und warum ist das ein Nachteil?
meine Weiterverarbeitung sieht so aus, dass ich diese zahl in einem gewissen zahlenbereich vergleichen muss, als ob die Zahl zw. 1 und 9809834 ist bzw zw 8998998987 und 999999999999.
lg
Charlie
Hallo,
meine Weiterverarbeitung sieht so aus, dass ich diese zahl in einem gewissen zahlenbereich vergleichen muss, als ob die Zahl zw. 1 und 9809834 ist bzw zw 8998998987 und 999999999999.
Siehst du. Und da ist es _klar_ von Vorteil, die Zahl in ein numerisches Format umzuwandeln.
Gruß
Lachgas
Hallo,
sorry, aber da komm ich als Newbie nicht ganz mit.
Was soll ich anstatt intval() benutzen?
Entweder du addierst 0, dann wird der Wert automatisch eine numerische Zahl ohne vorstehende Nullen, oder du benutzt die Funktion doubleval(). Die berücksichtigt auch Nachkommastellen. Ich würde dir aber zu ersterem raten.
Gruß
Lachgas
Aloa,
ok, hab ich jetzt versucht:
$test = 00000032 + 0;
da bekomm ich aber 26 zurück.
Warum?
lg
Charlie
Moin!
ok, hab ich jetzt versucht:
$test = 00000032 + 0;
da bekomm ich aber 26 zurück.
Warum?
Weil 000000032 im Oktalsystem betrachtet wird.
Was ist mit $test = "00000032" + 0;
Schließlich hast du ja einen String, also brauchst du Anführungszeichen um die "Zahl".
- Sven Rautenberg
Hallo,
$test = 00000032 + 0;
da bekomm ich aber 26 zurück.
Stimmt.
$test = 00000032;
$test += 0;
echo $test;
=> 26
Aber:
$test = "00000032";
$test += 0;
echo $test;
=> 32
Ich war davon ausgegangen, dass ein String ("") vorliegt.
Gruß
Lachgas
hi,
wie kann ich in PHP alle 0(NULL), von einem String, linbksseitig entfernen?
http://www.php.net/manual/en/function.ltrim.php
gruß,
wahsaga
Hello,
dieser Thread hat sich aus einem auf den ersten Blick trivialen Problem noch zu einem sehr interessanten entwickelt. Die Fallunterscheidungen, die wir hier zusammengetragen haben, taugen für ein Tutorial.
Fehlt nur noch der Hinweis, dass bei PHP alle Paramter aus Formularen im Typ String im Script abgeliefert werden. Dazu hatte ich in einem anderen Thread heute schon eine Demo gepostet.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fehlt nur noch der Hinweis, dass bei PHP alle Paramter aus Formularen im Typ String im Script abgeliefert werden.
Oder eben als Array ...
Grüße
Heizer
Hello,
Fehlt nur noch der Hinweis, dass bei PHP alle Paramter aus Formularen im Typ String im Script abgeliefert werden.
Oder eben als Array ...
Ja, irgendwie auch richtig. Array of Strings kommt dann da an.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom