geenanicole: Runden und Kommastellen ausgeben

Hallo zusammen,

und sorry, ich weiß, dass es meine folgende Frage schon gegeben hat, aber der Link im Archiv
führt mich zu einem freundlichen "The requested URL /phpmanual/html/function.round.html was not found on this server."
Und eigentlich hätte ich auch gar nicht gedacht, dass das ein Problem ist... (zumindest für mich)

Also, ich weiße einer Variablen eine Zahl zu, z.b.

$var = 1.95583;

nun möchte ich die Sache runden und auf 2 Kommastellen ausgeben. Mit round()
bin ich nicht wirklich weiter gekommen, auch die Typzuweisung auf "double" hat mich nicht weitergebracht...

Ist mir noch zu helfen?

Gruß,
Nicole

  1. Hallo,

    du suchst bestimmt das:

    $var = 1.95583;

    $var = round($var, 2);

    // $var == 1.96

    Grüsse,

    Martin

    1. Hallo Martin,

      $var = 1.95583;

      $var = round($var, 2);

      // $var == 1.96

      genau das habe ich ausprobiert, aber es führt nur zu folgender Meldung:

      "Warning: Wrong parameter count for round() in /var/www/live/docs/testweb/testphp/test.php on line 7"

      Was sagt mir das?

      Gruß,
      Nicole

      1. Hallo,

        wahrscheinlich hat die Variable einen falschen Typ... Du musst vorher keine Typänderung durchführen...

        Ansonsten kann ich dir nichts sagen, es sei denn du postest mal deinen Code :-)

        Grüsse, Martin

        1. Hi Martin,

          wahrscheinlich hat die Variable einen falschen Typ... Du musst vorher keine Typänderung durchführen...

          Ansonsten kann ich dir nichts sagen, es sei denn du postest mal deinen Code :-)

          daran lag es nicht, inzwischen mußte ich feststellen, dass ich das auch selbst hätte herausfinden können,
          phpself sagt nämlich ganz klar "Mit round() wird eine Zahl (val) auf- oder abgerundet. Der Parameter precision
            ist optional und nur in PHP4 verfügbar." Bisher war mir leider nicht klar, dass auf unserem Testserver kein PHP 4 läuft.
          Nun habe ich das Ganze auf einem anderen Server getestet, funzt einwandfrei.

          Nochmal danke für Deine Mühe,

          Gruß,
          Nicole

  2. Hallo,

    und sorry, ich weiß, dass es meine folgende Frage schon gegeben hat, aber der Link im Archiv
    führt mich zu einem freundlichen "The requested URL /phpmanual/html/function.round.html was not found on this server."

    Die Suche im Archiv für 2002 liefert für die Suchbgegriffe "runden 2 nachkommastellen" u.a. folgenden Treffer:
    http://forum.de.selfhtml.org/archiv/2002/1/2288/

    Gruß
    Slyh

    1. Hallo nochmal,

      ich hab mich verlesen. Es ging ja um PHP, nicht um JavaScript.

      Sorry!

      Gruß
      Slyh

  3. Hallo Nicole,

    baust du an einem Eurorechner in PHP?

    Mfg
    Rene

    1. Hi

      baust du an einem Eurorechner in PHP?

      Dann waere seine Vorgehensweise aber fatal.
      Der offizielle Kurs ist fuer DM nicht 1,96 sondern eben 1,95583.

      Gruesse
      Wilhelm

      1. Hallo,

        baust du an einem Eurorechner in PHP?

        Dann waere seine Vorgehensweise aber fatal.
        Der offizielle Kurs ist fuer DM nicht 1,96 sondern eben 1,95583.

        nein, das tue ich nicht, keine Sorge, so blond bin ich dann doch nicht ;-))

        Ein Kollege hat gerade damit angefangen, php zu lernen und ich dachte, ich könnte
        ihm kurz bei einer Übungsaufgabe helfen, was dann aber doch etwas länger gedauert hat...

        Gruß,
        Nicole

  4. Hallo Nicole,

    Und eigentlich hätte ich auch gar nicht gedacht, dass das ein Problem ist... (zumindest für mich)

    Also, ich weiße einer Variablen eine Zahl zu, z.b.

    $var = 1.95583;

    nun möchte ich die Sache runden und auf 2 Kommastellen ausgeben. Mit round()
    bin ich nicht wirklich weiter gekommen, auch die Typzuweisung auf "double" hat mich nicht weitergebracht...

    <?php

    $dm=99.95;
    $konst=1.95583;
    $euro=number_format($dm/$konst,2);

    print $euro; // 51.10

    ?>

    number_format() rundet nicht nur, es werden auch Nullen am Ende erhalten, wier in diesem Beispiel.

    MfG, Thomas