Kleines Problem mit Runden

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

  • Kleines Problem mit Runden

    Ich habe in einer Textdatei "text.txt" 2 Zahlen, die folgendermaßen aufgebaut sind "Zahl1 | Zahl2"

    Diese Zahlen sollen ausgelesen werden mit diesem Script und anschließend die erste durch die zweite geteilt werden und das Ergebnis auf bzw. abgerundet werden.

    Hierzu hab ich dieses Script zusammengestellt. Zwar werden die beiden Zahlen richtig ausgelesen, aber wenn ich sie teilen will sagt er mir immer, dass man nicht durch 0 teilen kann.

    Wo mach ich den Fehler ?

    <?
    $fp= fopen("test.txt", "r+");
    while (!feof ($fp))
    {
    $zeile = fgets ($fp, filesize ("test.txt"));
    list ($gesamt,$wertungen)
    = explode (' | ',$zeile);

    }
    fclose ($fp);
    $result =round($gesamt / $wertungen);
    echo $result;
    ?>

  • #2
    ich weiss nicht ob das was bringt:

    $result =round((int)$gesamt / (int)$wertungen);

    oder wenns kommazahler sind:

    $result =round((float)$gesamt / (float)$wertungen);
    meine Projekte bestaunen: http://www.kleiza.de

    Kommentar


    • #3
      Die Meldung, daß er nicht durch 0 teilen kann, ist richtig. Was anderes hätte ich da nicht erwartet.
      PHP-Code:
      // Datei öffnen
      $fpfopen("test.txt""r+");
      // Datei Zeile für Zeile lesen
      while (!feof ($fp))
      {
         
      $zeile fgets ($fpfilesize ("test.txt"));
         
      // für jede Zeile $gesamt und $wertungen ermitteln
         
      list ($gesamt,$wertungen) = explode (' | ',$zeile);
      }
      // Datei schließen
      fclose ($fp);
      // Ausgabe der [b]LOKALEN VARIABLEN AUS DER SCHLEIFE[/b] welche hier natürlich nicht mehr definiert sind,
      // außerdem würde er hier, wenns gehen würde, nur die letzte Zeile ausspucken
      $result =round($gesamt $wertungen);
      echo 
      $result
      schieb mal die Berechnung und Ausgabe mit in die Schleife
      TBT

      Die zwei wichtigsten Regeln für eine berufliche Karriere:
      1. Verrate niemals alles was du weißt!


      PHP 2 AllPatrizier II Browsergame

      Kommentar


      • #4
        erstmal danke für die Antworten, hab ich richtig verstanden, dass der Quelltext jetzt so aussehen sollte ?

        <?
        // Datei öffnen
        $fp= fopen("test.txt", "r+");
        // Datei Zeile für Zeile lesen
        while (!feof ($fp))
        {
        $zeile = fgets ($fp, filesize ("test.txt"));
        // für jede Zeile $gesamt und $wertungen ermitteln
        list ($gesamt,$wertungen) = explode (' | ',$zeile);
        $result =round($gesamt / $wertungen);
        echo $result;
        }
        // Datei schließen
        fclose ($fp);
        ?>

        Hier zeigt er nämlich immer noch den Error an

        Kommentar


        • #5
          explode macht die ein Array aus dem String

          $array = explode(" | ",$zeile);
          $result =round($array[0] / $array[1]);
          TBT

          Die zwei wichtigsten Regeln für eine berufliche Karriere:
          1. Verrate niemals alles was du weißt!


          PHP 2 AllPatrizier II Browsergame

          Kommentar

          Lädt...
          X