PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zahlen mit e+024 runden?


mf_2
2005-12-01, 20:40:28
Hallo,
Ich berechne in PHP Zahlen, die seeehr groß sind.
Da kommen Zahlen wie 1.54040327488E+024 raus.
Ich weiss dass das mathematisch völlig falsch ist, aber wie kann ich das E+024 loswerden um dann 1.54040327488 auf 1.54 runden zu können? Gibts da ne Möglichkeit?

astanoth
2005-12-02, 21:37:15
http://de3.php.net/manual/de/function.round.php

Versuch doch ertsmal selbst zu suchen. Einfach auf php.net ungefähr nach dem suchen was du willst.
Mathematisch ist da nix falsch.

round(1.54040327488E+024, 2);

mf_2
2005-12-03, 22:30:02
Das hab ich doch gemacht!! Aber das rundet der einfach ned, ganz so als ob die Zeile mit dem round() Kommando garned im script wäre...
php ignoriert die zeile da einfach!

MadMan2k
2005-12-03, 23:01:39
round(substr(1.54040327488E+024, 0, -5), 2);

Sephiroth
2005-12-04, 16:54:10
Das hab ich doch gemacht!! Aber das rundet der einfach ned, ganz so als ob die Zeile mit dem round() Kommando garned im script wäre...
php ignoriert die zeile da einfach!
Der rundet schon richtig, denn die Zahl hat einfach keine Nachkommastellen!

1.54040327488E+024 == 1540403274880000000000000

Wie es MadMan2k vorgeschlagen hat oder über einen regulären Ausdruck die Zahl vorher extrahieren.

$var=1.54040327488E+024;
preg_match("/^([0-9]+(\.[0-9]+)?)/", $var, $foo);
print_r($foo);
Array ( [0] => 1.54040327488 [1] => 1.54040327488 [2] => .54040327488 )