[Funktion] Mit PHP runden, bzw. Stellen weglassen

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

  • [Funktion] Mit PHP runden, bzw. Stellen weglassen

    Ich habe jetzt ein kleines Script geschrieben was den Zensurendurchschnitt ermittelt und jetzt kommt z.B. 1,734576766 raus
    wie kann ich da z.B. sagen, dass nach dem Komma nur noch 2 Stellen angezeigt und eventuell die 3. für das Runden mit einbezogen wird. Vielleicht get es mit explode oder erreg keine Ahnung.

  • #2
    Re: [Funktion] Mit PHP runden, bzw. Stellen weglassen

    Original geschrieben von Normi
    Vielleicht get es mit explode oder erreg keine Ahnung.
    Geht bestimmt.

    Aber zum Glück hat PHP für sowas eingebaute Funktionen:

    http://php.net/round

    (ich weiß das, weil ich genau das Problem auch mal hatte, und einfach im PHP-Handbuch gesucht habe)
    hopka.net!

    Kommentar


    • #3
      Ja, also wenn ich damit Zahlen runden will, die ich vorher eingegeben habe funktioniert es prima, aber wenn die zurundende Kommazahl aus einer Variablen geholt werden soll, geht es nicht.

      Hier der Code:
      PHP-Code:
      <?
      $rundwert="1,653432";
      $zeige=round($rundwert,2);      
      echo $zeige;
      ?>
      Kommt immer nur 1 raus, obwohl ich doch 3 Stellen will und wenn ich statts $rundwert die Zahl 1,653432 eingebe funktionierts geht das mit Variablen etwa grundsätzlich nicht, oder wie geht es?
      Zuletzt geändert von Normi; 12.07.2003, 22:59.

      Kommentar


      • #4
        Die Zahlen in PHP werden nach dem englischen Format behandelt. Das heißt, dass wenn du hier 1,3453 schreibst musst du in PHP 1.3453 schreiben, weil statt eines Kommas ein Punkt verwendet wird.

        Warum es trotzdem geht, wenn du die Zahl direkt hinschreibst weiß ich auch nicht
        hopka.net!

        Kommentar


        • #5
          Original geschrieben von Normi
          $rundwert="1,653432";
          damit weist du $rundwert einen string zu, und keine zahl.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Es lag an dem Punkt, wenn ich
            $rundwert="1.653432"; eingebe, dann rundet er auch richtig.

            ABER: Für mein Notendurchschnittsprogramm brauche ich doch noch mal Hilfe:
            Also der Durchschnitt wird errechnet und in die Variable $dgesammt gespeichert. Der Wert ist aber dann mit Komma angegeben und ich muss ja einen Punkt machen. Wie funktionert das mit ersetzen also dass er das Komma durch den Punkt ersetzt und die Variable mit dem Punkt statts Komma überschreibt, denn sonst rundet er ja wieder nicht.

            Kommentar


            • #7
              Habs selber rausgefunden:

              $dgesammt = ereg_replace(",",".",$dgesammt);

              Kommentar


              • #8
                Original geschrieben von Normi
                Es lag an dem Punkt, wenn ich
                $rundwert="1.653432"; eingebe, dann rundet er auch richtig.
                und immer noch weist du einer variable, die eigentlich einen zahlwert beinhalten soll, einen string zu ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  PHP-Code:
                  <?
                  $rundwert=1.633432;
                  $zeige=round($rundwert,4);      
                  echo $zeige;
                  ?>


                  Nun zufrieden @wahsaga ???

                  Kommentar


                  • #10
                    Runden ok, aber aufstocken?

                    Hallo,

                    ich habe ein ähnliches Problen. Das runden einer erstellten Zahl funtioniert. Nur möchte ich einen Betrag ebenso mit zwei Nachkommastellen haben, wenn diese leer sind, also ".00".

                    Hat jemand eine Idee, wie ich das machen kann?
                    Wenn ich runden angebe, schneidet er sie mir immer ab.

                    Danke,
                    Olaf

                    Kommentar


                    • #11
                      Re: Runden ok, aber aufstocken?

                      Original geschrieben von Sledge
                      Nur möchte ich einen Betrag ebenso mit zwei Nachkommastellen haben, wenn diese leer sind, also ".00".

                      Hat jemand eine Idee, wie ich das machen kann?
                      ja, und zwar die idee, die hier auch schon mehrmals im forum steht: number_format().
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        PHP-Code:
                        if(($wert%1)==0){
                            
                        $wert.=".00";

                        Habe keine Ahnung, ob das funzt ... war mir nur spontan eingefallen ;-)

                        Leider hast Du danach einen String und nicht mehr eine Zahl ...
                        Yeah !

                        Kommentar

                        Lädt...
                        X