Runden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Runden

    Hi!

    Ist eigentlich kein wirkliches PHP Problem... Da es aber in einem PHP Programm zum Einsatz kommt, poste ich es hier.

    Ich habe ein Programm, welches mir Zahlen zwischen 1 und 5 ausgibt.
    Nicht nur Ganzzahlen, sondern auch krumme Werte wie z.B. 3.4332

    Nun möchte ich es immer gerundet haben auf entweder x.5 oder halt x.0
    Im obigen Fall sollte er auf 3.5 runden.

    Wäre der Wert kleiner als 3.25 sollte halt auf "3.0" gerundet werden bzw. halt "3". Wäre der Wert >= 3.75 sollte halt auf 4 gerundet werden.

    Wie müsste ich das lösen?
    Habe zwar eine Lösung gefunden, die ist jedoch umständlich und hat viele Zeilen Code.

  • #2
    Re: Runden

    Original geschrieben von jonas01
    Wie müsste ich das lösen?
    Mit etwas Hirnschmalz vielleicht?


    *2, /2
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Eine recht einfache Lösung wäre folgende, wenn du es mit php realisieren kannst :

      PHP-Code:
      $a=3.4332;                  // Deine Zahl
      $b=(round($a*2))/2;
      echo 
      $b

      Hab das Ganze mal in eine Schleife gepackt, allerdings der Übersicht halber nur mit zwei Nachkommastellen. Bis 4.42 stimmt alles, aber danach sehen die Werte so aus :

      4.4299999999999
      4.4399999999999

      usw.

      Hier der code

      PHP-Code:
      for ($a=0.01$a<5$a=$a+0.01)
        {
        
      $b=(round($a*2))/2;
        echo 
      $a." gerundet : ".$b."<br>";
        } 
      Vielleicht kann mir jemand sagen, wieso ausgerechnet ab 4.42 je 11 mal eine 9 angehängt wird ?

      Kommentar


      • #4
        Original geschrieben von Tommy75
        Vielleicht kann mir jemand sagen, wieso ausgerechnet ab 4.42 je 11 mal eine 9 angehängt wird ?
        Weil sich eine dezimale Float-Zahl nicht exakt im Binärsystem abbilden lässt.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar

        Lädt...
        X