Zahl in String konvertieren

Alles, was PHP betrifft, kann hier besprochen werden.

Zahl in String konvertieren

Postby Cogitatum » 22. October 2003 16:55

Moin Kinnings,


wie kann ich eine Zahl in einen String konvertieren?

Im Grunde will ich in einer errechneten Fließkommazahl mit 2 Dezimalstellen den Punkt durch ein Komma ersetzen.

Danke im Voraus.
Olli
Cogitatum
 
Posts: 9
Joined: 18. October 2003 19:46

Postby boppy » 23. October 2003 08:27

$zahl = 0256.596; // gibt 256.596 aus
$string = "0256.596"; // gibt es mit 0 aus, ist also ein string!

Tadaa, schon hast du einen string in der zahl ;D
...in diesem Sinne
yours boppy

Interpunktion und Orthographie dieses Beitrags sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
User avatar
boppy
AF Moderator
 
Posts: 501
Joined: 27. December 2002 02:15
Location: W-E-City

Postby pir187 » 24. October 2003 18:23

probier mal:

$zahl=45.67;
$string_aus_zahl=(string)$zahl;


ein expliziter cast hat schon manchmal geholfen, ob er dies auch jetzt tut, wäre zu testen!

so long, pir187


ausschnitt aus dem php bigmanual:

Umwandlung von Zeichenketten / Strings

Sobald ein String als Zahlenwert angesehen wird, wird der resultierende Wert und Typ wie folgt festgelegt:

Der String wird als double angesehen, wenn er eines der Zeichen '.', 'e', oder 'E' enthält. Ansonsten wird er als Integer-Wert interpretiert.

Der Inhalt wird durch den Anfangsteil des Strings vorgegeben. Sofern der String mit numerischen Daten beginnt, wird ein Zahlen-Wert angenommen. Andererseits kann der Wert auch 0 (Null) sein. Gültig sind auch Werte mit einem optionalen Vorzeichen, gefolgt von einer oder mehreren Zahlen (optional mit einem Dezimalpunkt). Wahlweise kann auch ein Exponent angegeben werden. Dieser besteht aus einem 'e' oder 'E', gefolgt von einer oder meheren Zahlen.

Sobald der erste Ausdruck ein String ist, hängt der Typ der Variablen vom zweiten Ausdruck ab.

$foo = 1 + "10.5"; // $foo ist double (11.5)
$foo = 1 + "-1.3e3"; // $foo ist double (-1299)
$foo = 1 + "bob-1.3e3"; // $foo ist ein Integer-Wert (1)
$foo = 1 + "bob3"; // $foo ist ein Integer-Wert (1)
$foo = 1 + "10 Small Pigs"; // $foo ist ein Integer-Wert (11)
$foo = 1 + "10 Little Piggies"; // $foo ist ein Integer-Wert (11)
$foo = "10.0 pigs " + 1; // $foo ist ein Integer-Wert (11)
$foo = "10.0 pigs " + 1.0; // $foo ist double (11)


Mehr Informationen über solche Umwandlungen können sie im UNIX-Manual unter strtod(3) finden.

Wenn sie alle Beispiele dieses Abschnitts testen wollen, können sie sie per Cut und Paste in ihr Script übertragen und mit der folgenden Zeile selbst sehen, was passiert:

echo "\$foo==$foo; Typ ist " . gettype( $foo ) . "<br>\n";
pir187
 
Posts: 76
Joined: 13. August 2003 00:15
Location: Struppen / Sachsen


Return to PHP

Who is online

Users browsing this forum: No registered users and 1 guest