DOUBLE sauber trennen
Nicole
- php
Hallo erst mal ;-)
Um einen Geldbetrag, den ich aus Mysql(doubleformat) hole,
zu trennen in cent und Euro nutze ich string funktionen
wie strtok oder substr.
Aber auch wenn das bisher klappt, so mache ich mir doch
Kompatibilitätssorgen, falls ich mal eine andere PHP
Version nutze, ... weil eigentlich keine saubere Lösung.
Denn bei Zahlen und Nullen und der damit
verbundenen PHP Typenkonvertierung können sich schnell
Unterschiede zwischen den PHP versionen ergeben wie ich
schon feststellen musste.
Lange Rede, kurzer Sinn...
Gibt es eine saubere Trennmethode um Doubles aufzusplitten,
die nicht stringorientiert ist.
( also kein ex/implode, substr,strtok,etc.)
Gruss Nikki
Hallo erst mal ;-)
Haaalooo (so früh am Morgen - muß mich gleich erstmal krankschreiben lassen .)
Lange Rede, kurzer Sinn...
Gibt es eine saubere Trennmethode um Doubles aufzusplitten,
die nicht stringorientiert ist.
wenn Deine Doubles genau zwei Stellen hinter dem komma haben bzw. abgerunden werden dürfen (in der zweiten Stelle) kannst Du diese Standardlösung nehmen:
Betrag: dreimarkeinundfünfzig
3.51 * 100 = 351 (kannst Du mir folgen ;)
351 : 100 = 3 <- DM-Wert
351 % 100 = 51 <- Pfennig-Wert
51 : 100 = 0.51 <- Pfennig-Wert in DM
falls Deine Double-Werte mehr als zwei Nachkommastellen haben mußt Du eben nach der Verhundertfachung entsprechend runden.
Gruß, Andreas
Hallo Andreas,
3.51 * 100 = 351 (kannst Du mir folgen ;)
351 : 100 = 3 <- DM-Wert
351 % 100 = 51 <- Pfennig-Wert
wald vor Bäumen ... ;-)
Na klar das ist es .
Hatte zwar in der Vergangenheit schon öfter Probleme
mit Modulus (s.u.), aber das ist die beste Lösung, DANKE.
Modulus Problematik:
http://forum.de.selfhtml.org/archiv/2003/5/46882/#m255797
Gruss Nikki
p.s. Kannst du mir sagen ob ich hier einen Link anklickbar
machen kann ? <a href..>link</a>geht nicht.
Hatte zwar in der Vergangenheit schon öfter Probleme
mit Modulus (s.u.),
es heißt Modulo :)
aber das ist die beste Lösung, DANKE.
sie ist vor allem PHP-unabhängig.
p.s. Kannst du mir sagen ob ich hier einen Link anklickbar
machen kann ? <a href..>link</a>geht nicht.
ich kanns's jetzt nicht vormachen, weil dann eben der anklickbare Link erscheint und nicht die Syntax, aber sowas steht hier in der FAQ:
http://forum.de.selfhtml.org/faq/
dort Nr. 19
Gruß, Andreas
Hallo,
Gibt es eine saubere Trennmethode um Doubles aufzusplitten,
die nicht stringorientiert ist.( also kein ex/implode, substr,strtok,etc.)
Probiere es mal so:
<?php
$zahl=12.345;
//$stellen=3;
$vordemkomma=intval($zahl);
$stellen=strlen(strval($zahl-$vordemkomma))-2;
$nachdemkomma=($zahl-$vordemkomma)*pow(10,$stellen);
print $zahl."<br>".$vordemkomma."<br>".$nachdemkomma;
?>
Falls die Stellenanzahl nicht bekannt ist (hier auskommentiert), dann bedarf es doch Stringfunktionen, die aber nicht von der PHP-Version abhaengen sollten.
MfG, Thomas