mmofacts.com

Eine Frage zu Variablen (Fliesskomma --> Integer) -php-

gepostet vor 19 Jahre, 9 Monate von daniel_
Hallo,
ich verwende folgendes:

*******
$question="select * from user where name='$name'";
$answer=mysql_query($question);
$answer2=mysql_fetch_array($answer);

//Zeit seit letztem Login

$timenow=date('U');
$timedifference=($timenow-$answer2['timelast'])/3600;

//Energie seit letztem LogIn

$newenergie=$answer2['powerplant']*$timedifference;
*******

Dabei kommt eine Flieskommazahl raus, die später wieder in die DB geschrieben wird (DB-variable "powerplant" ist Douple).
Nun möchte ich diesen Wert aber ohne Komma ausgeben lassen...

geht das so?

*******
$newenergie2=intval($newenergie1);
*******

Oder hat jemand eine andere Art, auf der man die Ressourcengewinnung berechnen kann, ohne das irgendwelche "Verluste" in Form von abrunden passieren...

danke im Vorraus,

daniel
gepostet vor 19 Jahre, 9 Monate von Gambler
Einfach so große Werte nehmen dass keine Kommastellen auftreten. Und die dann runterrechnen bei der Ausgabe.
gepostet vor 19 Jahre, 9 Monate von HSINC
intern mit genug nachkommastellen rechnen und nur die ausgabe runden
gepostet vor 19 Jahre, 9 Monate von BLUESCREEN
Siehe HSINCs Post.

Ergänzend:

Original von daniel

Nun möchte ich diesen Wert aber ohne Komma ausgeben lassen...
Was genau heißt bei dir nun "ohne Komma"?
Es könnte "abrunden" sein (z.B. durch intval oder floor)
oder "aufrunden" mit ceil
oder eben normales Runden mit round...
Such dir eine der Möglichkeiten aus.

PS: date('U') kannst du mit time() abkürzen.
gepostet vor 19 Jahre, 9 Monate von daniel_
hi,

ich will abrunden.

danke für die antworten, werde alles mal ausprobieren.
bye
daniel
gepostet vor 19 Jahre, 9 Monate von Michaelius
Du kannst das natürlich zum abrunden auch so machen :

$wert1 = 12345.12345;
$wert2 = ereg_replace ("[.](.*)", "", $wert1);

$wert1 nimmst dann zur berechnung und $wert2 nur als anzeigenausgabe, denn $wert2 wäre hier 12345 nur, und damit abgerundet.

Auf diese Diskussion antworten