zahlen runden

bad taste

Erfahrenes Mitglied
hi leude ...
mein probelM

ich will zahlen runden und zwar auf einen ganzen wert.....

d.h. zahlen wir 13,33333333oder so sollen zu 13 oder 13,35 werden....

es gibt doch bestimmt die möglichkeit festzulegen, wieviele stellen man rundet?!?!? oder

also bitte

am besten so viele möglcihkeiten, wie es zum runden gibt.......

danke

//bad taste

:|
 
double round ( double val [, int precision])
Diese Funktion rundet den Eingabewert val auf precision Stellen nach dem Komma auf oder ab.

Sprich:
PHP:
round (13.33333333,2); //= 13.33
round (13.46,1); //= 13.5
round (13.46); //=  13.0

Ansonsten gibts noch
floor () zum abrunden
http://www.php.net/manual/de/function.floor.php

und ciel() zum aufrunden
http://www.php.net/manual/de/function.ceil.php

Die geben dir allerdings nur ganze Zahlen zurück!

So long
TheVirus

P.S.: 13,333333 gerundet ist 13.33
 
Zuletzt bearbeitet:
hm das weiss ich als mathe lk auch:)

ich hab dabei aber an eine funktion gedacht, bei der man "immer" aufrundet..........weil mir das für mein problem sinnvoller erscheint....

aber trotzdem danke für den tip:)

//so far..

//bad taste
 
Sorry! ;-) Wusste das nicht mit dem Mathe LK!

Also das hört sich verdammt danach an als müsstest du dir selber ne Funktion basteln. Dürfte aber nicht so schwer sein. So irgendwie:
PHP:
function immer_auf_runden ($zahl)
{
  $start_wert = floor($zahl); // Ganz zahlig abrunden
  while ($start_wert <= $zahl)
  {
    $start_wert = $start_wert + 0.01; //Solange 0.01 drauf addieren bis $start_wert > $zahl
  }
  return $start_wert;
}

Das läuft. Tested. Allerdings rundet sie nur auf die 2 nachkomma stelle auf. Falls du sie allgemeiner haben willst musst du sowas einbauen: (jetzt wird's untested)
PHP:
$summand = 1;
for ($i=1;$i<=$stellen;i++)
{
  $summand = $summand / 10;
}

Der Summand kommt dann an die stelle wo oben 0.01 steht.

Und wenn du die Funktion ganz sauber haben willst musst du auch am anfang alle exceptions abfangen. Aber dafür bin ich jetzt zu faul!

So Long
TheVirus

EDIT: Wie kommst du eigentlich darauf von 13,3333333 auf 13,35 zu runden? Wenn du immer auf die 5 am ende scharf bist dann musst du das wohl anders machen!
 
hihi

naja das war eher so eine naja......idee....is aber eigendlich net so wild........

ich wollte es einfach so machen, dass er mal auf unbd aml abrundet und nicht immer echt rundet, damit man da immer 100% bekommt......

wär einfacher, als das richtig zu testen:)

naja is aber auch net so wild gewesen.......:)

also thx a lot

habt mir schön schnell geholfen:-[
bis denn dann

//bad taste
 
Zurück