Formel problem

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

  • Formel problem

    Das Script funktioniert einwandfrei und liefert die unten stehenden Ergebnisse. Wie kann ich die Formel bzw. das Script so umbauen das mir in einem zweiten Ergebnis die Summe der Werte bildet.
    PHP-Code:
    for ($i 1$i <= 12$i++)
      {
        if (
    $std >  1)
        {
          
    $ergebnis =  (pow((($steig/100)+1),$i)*$preis) * (($std*$tage*$alt)-($std*$tage*$neu))/1000;
          
    $ergebnis number_format ($ergebnis,2","".");
          echo 
    $ergebnis." Euro &nbsp &nbsp $i &nbsp &nbsp Jahr  <br />";
        } 
    27,23 Euro 1 Jahr
    28,32 Euro 2 Jahr
    29,45 Euro 3 Jahr
    30,63 Euro 4 Jahr
    31,85 Euro 5 Jahr
    33,13 Euro 6 Jahr
    34,45 Euro 7 Jahr
    35,83 Euro 8 Jahr
    37,26 Euro 9 Jahr
    38,75 Euro 10 Jahr
    40,30 Euro 11 Jahr
    41,91 Euro 12 Jahr

  • #2
    Zitat von Tastatur Beitrag anzeigen
    Das Script funktioniert einwandfrei und liefert die unten stehenden Ergebnisse. Wie kann ich die Formel bzw. das Script so umbauen das mir in einem zweiten Ergebnis die Summe der Werte bildet.
    PHP-Code:
    $summe=0;
    for (
    $i 1$i <= 12$i++)
      {
        if (
    $std >  1)
        {
          
    $ergebnis =  (pow((($steig/100)+1),$i)*$preis) * (($std*$tage*$alt)-($std*$tage*$neu))/1000;
          
    $ergebnis number_format ($ergebnis,2","".");
          
    /*
           * Summe bilden
           */
          
    $summe+=$ergebnis
          
    echo $ergebnis." Euro &nbsp &nbsp $i &nbsp &nbsp Jahr  <br />";
        }
        echo 
    $summe
    27,23 Euro 1 Jahr
    28,32 Euro 2 Jahr
    29,45 Euro 3 Jahr
    30,63 Euro 4 Jahr
    31,85 Euro 5 Jahr
    33,13 Euro 6 Jahr
    34,45 Euro 7 Jahr
    35,83 Euro 8 Jahr
    37,26 Euro 9 Jahr
    38,75 Euro 10 Jahr
    40,30 Euro 11 Jahr
    41,91 Euro 12 Jahr
    Hi Tastatur,

    indem du in der Schleife die Summe bildest. Siehe im Script eingefügt.

    Gruß
    Günni

    Kommentar


    • #3
      Zu dem letzten (geschlossenen) Thread, mein Beispiel hätte so ausgesehen. Praktisch würde dadurch bei jeder Runde der errechnete Wert des letzten Jahres wieder der Anfangswert des nächsten Jahres, so dass Du nur das Endergebnis erhältst.

      PHP-Code:
      <?php

      $betrag 
      100;            // z.B. 100 Euro
      $jahre  =   3;            // z.B. 3 Jahre
      $zins   =   5;            // z.B. 5% 
      $zins   $zins 100;

      function 
      RECHNE($bg,$zs,$jr) {

          for (
      $i 0$i $jr$i++) {

              
      $bg $bg $bg $zs;
          }    
          return 
      $bg;
      }

      $ergebnis RECHNE($betrag,$zins,$jahre);    
      $ergebnis number_format($ergebnis,2","".");
      echo 
      $ergebnis;
      ?>
      Nur um so etwas einem User anzubieten, sollte man sich auch mit den unterschiedlichen Zinssätzen auskennen, wie den Nominalzins, Basiszinssatz und was es da sonst noch so gibt. Eigentlich kann das bereits eine Wissenschaft für sich sein.

      Kommentar


      • #4
        for ($i = 1; $i <= 12; $i++)
        {
        if ($std > 1)
        {
        $ergebnis = (pow((($steig/100)+1),$i)*$preis) * (($std*$tage*$alt)-($std*$tage*$neu))/1000;
        $ergebnis = number_format ($ergebnis,2, ",", ".");
        $summe+=$ergebnis;
        echo $ergebnis." Euro &nbsp &nbsp $i &nbsp &nbsp Jahr <br />";
        }
        echo $summe;
        }
        }
        ?>

        Die Summe wird aber nicht gebildet

        Kommentar


        • #5
          Ich bekomme die Summe nicht angeezeigt.
          Was mach ich falsch.

          PHP-Code:
          for ($i 1$i <= 12$i++)
            {
              if (
          $std >  1)
              {
                
          $ergebnis =  (pow((($steig/100)+1),$i)*$preis) * (($std*$tage*$alt)-($std*$tage*$neu))/1000;
                
          $ergebnis number_format ($ergebnis,2","".");
                
          $summe+=$ergebnis;
                echo 
          $ergebnis." Euro &nbsp &nbsp $i &nbsp &nbsp Jahr  <br />";
              }
              echo 
          $summe;
            }
          }
          ?> 

          Kommentar


          • #6
            Hi Tastatur,

            sorry, ich hatte deine Berechnung kopiert, aber die abschließende Klammer der for-Schleife vergessen.

            Die Summe wird dann korrekt gebildet.

            PHP-Code:
            <?php
            $summe
            =0;
            $std=2;
            for (
            $i 1$i <= 12$i++){
                if (
            $std >  1){
                  
            $ergebnis =  rand(50,560);
                  
            $ergebnis number_format ($ergebnis,2","".");
                  
            /*
                   * Summe bilden
                   */
                  
            $summe+=$ergebnis;
                  echo 
            $ergebnis." Euro &nbsp &nbsp $i &nbsp &nbsp Jahr  <br />";
                 }
             
             
            }
            echo 
            number_format ($summe,2","".");
            ?>
            Gruß
            Günni

            Kommentar


            • #7
              Jetzt kapier ich nichts mehr
              Hier ist nochmal der Code vom mir.
              Ich weis nicht wo ich deine Sachen einbauen soll kannst du mir das zeigen.

              PHP-Code:
              for ($i 1$i <= 12$i++)
                {
                  if (
              $std >  1)
                  {
                    
              $ergebnis =  (pow((($steig/100)+1),$i)*$preis) * (($std*$tage*$alt)-($std*$tage*$neu))/1000;
                    
              $ergebnis number_format ($ergebnis,2","".");
                    echo 
              $ergebnis." Euro &nbsp &nbsp $i &nbsp &nbsp Jahr  <br />";
                  }
                }
              }
              ?> 

              Kommentar


              • #8
                Hi Tastatur,

                vor der Berechnung die Variable $summe auf 0 setzen.
                Wenn das Ergebnis zugewiesen wird, auf die Summe aufaddieren.
                PHP-Code:
                /*
                * Variable $summe auf 0 setzen
                */
                $summe=0;
                for (
                $i 1$i <= 12$i++) {
                    if (
                $std >  1) {
                      
                $ergebnis =  (pow((($steig/100)+1),$i)*$preis) * (($std*$tage*$alt)-($std*$tage*$neu))/1000;
                      
                //Summe eventuell hier bilden
                      //$summe+=$ergebnis;
                      
                $ergebnis number_format ($ergebnis,2","".");
                      
                /*
                       * Hier wird die Summe gebildet
                       */
                      
                $summe+=$ergebnis;
                      echo 
                $ergebnis." Euro &nbsp &nbsp $i &nbsp &nbsp Jahr  <br />";
                    }
                  }
                /*
                * Nach der Berechnung (Ende for-Schleife) die Summe ausgeben
                */
                echo number_format ($summe,2",""."); 
                Eventuell kannst du auch die Summe bilden, bevor $ergebnis formatiert wird (Siehe Kommentar im Script). Vielleicht liegts ja daran.

                Gruß
                Günni

                Kommentar


                • #9
                  Ja funktioniert so nicht ganz richtig die Summe muss 399,27 betragen angezeigt werden 392

                  26,57 Euro 1 Jahr
                  27,63 Euro 2 Jahr
                  28,74 Euro 3 Jahr
                  29,89 Euro 4 Jahr
                  31,09 Euro 5 Jahr
                  32,33 Euro 6 Jahr
                  33,62 Euro 7 Jahr
                  34,97 Euro 8 Jahr
                  36,37 Euro 9 Jahr
                  37,82 Euro 10 Jahr
                  39,33 Euro 11 Jahr
                  40,91 Euro 12 Jahr
                  392,00

                  Kommentar


                  • #10
                    Zitat von Tastatur Beitrag anzeigen
                    Jetzt kapier ich nichts mehr
                    Was ist so schwer daran, sich innerhalb von 3 Jahren seit Deiner Registrierung hier im Forum mal einige Tage mit der Syntax von PHP auseinander zusetzen?

                    Was bedeutet += in $summe+=$ergebnis?
                    Wenn Du die Frage nicht beantworten kannst, auch nicht weißt wohin damit, dann lasse es bleiben.

                    Kommentar


                    • #11
                      Hi Tastatur,

                      deshalb hab' ja auch geschrieben, zu versuchen, die Summe zu bilden,

                      bevor das Ergebnis formatiert wird. Vielleicht passieren da ja Rundungsfehler.

                      Ich hab' meine Version mit den Zufallszahlen mehrmals getestet, und das Ergebnis stimmte immer.

                      Gruß
                      Günni

                      Kommentar


                      • #12
                        Ja Rundungsfehler können das sein.
                        Ein weiteres Problem.
                        Bei überschreiten eines bestimmten Ergebniswertes z.B ($x) soll die Schleife aufhören weiter zuberechnen.

                        Wie kann man das gestallten?

                        Kommentar


                        • #13
                          Zitat von Tastatur Beitrag anzeigen
                          Ja Rundungsfehler können das sein.
                          Ein weiteres Problem.
                          Bei überschreiten eines bestimmten Ergebniswertes z.B ($x) soll die Schleife aufhören weiter zuberechnen.
                          Wie kann man das gestalten?
                          Hi Tastatur,

                          in dem du die for-Schleife mittels break beendest. Beispiel:

                          PHP-Code:
                          <?php
                          $summe
                          =0;
                          $std=2;
                          for (
                          $i 1$i <= 12$i++){
                              if (
                          $std >  1){
                                
                          $ergebnis =  rand(5,1000);
                                if(
                          $ergebnis 500){break;}
                                
                          $summe+=$ergebnis;
                                
                          $ergebnis number_format ($ergebnis,2","".");
                                echo 
                          $ergebnis." Euro &nbsp &nbsp $i &nbsp &nbsp Jahr  <br />";
                               }
                           
                           
                          }
                          echo 
                          number_format ($summe,2","".");
                          ?>
                          Gruß
                          Günni

                          Kommentar


                          • #14
                            Wenn ich diese Zeile einfüge
                            if($ergebnis = $kauf {break;}
                            kommt die Fehlermeldung =
                            Parse error
                            : syntax error, unexpected T_BREAK
                            Was ist falsch?

                            PHP-Code:
                            $summe=0;
                            for (
                            $i 1$i <= 12$i++)
                             {
                                if (
                            $std >  1)
                                {
                                  
                            $ergebnis =  (pow((($steig/100)+1),$i)*$preis) * (($std*$tage*$alt)-($std*$tage*$neu))/1000;
                                  if(
                            $ergebnis $kauf {break;}
                                  
                            $summe+=$ergebnis;
                                  
                            $ergebnis number_format ($ergebnis,2","".");
                                  
                            $summe+=$ergebnis;
                                  echo 
                            $ergebnis." Euro &nbsp &nbsp $i &nbsp &nbsp Jahr  <br />";
                                }
                              }

                            echo 
                            number_format ($summe,2","".");
                            ?> 

                            Kommentar


                            • #15
                              Hi Tastatur,

                              weil du eine Klammer weggelassen hast.

                              [FONT=Courier New][COLOR=#006600]if([/COLOR][COLOR=#0000cc]$ergebnis [/COLOR][COLOR=#006600]= [/COLOR][COLOR=#0000cc]$kauf) [/COLOR][/FONT][COLOR=#006600][FONT=Courier New]{break;}[/FONT][/COLOR]

                              [COLOR=#006600]Gruß[/COLOR]
                              [COLOR=#006600]Günni[/COLOR]

                              Kommentar

                              Lädt...
                              X