Wo ist mein Fehler ich find ihn nicht....

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

  • Wo ist mein Fehler ich find ihn nicht....

    Hallo
    *verzweifel*
    Das Skript soll eine Null anhängen wenn nur eine Kommastelle da is...
    Allerdings tut es das immer, irgendetwas stimmt mit meinem IF nicht...
    nur was?!?


    PHP-Code:
             $u 0;
             while (
    $u <= $Anzahl)
             {
               
    $Thema $pagethemen[$u];
               
    $VP round($Verh[$Thema], 2);

               If (
    strpos($VP".") != false)
               {
                 
    $LP strpos($VP".") - strlen($VP);
                    If (
    $LP != 3)     // <<<das if
                      
    {
                      
    $VP.= "0 CPP";
                      }
                    Else
                      {
                      
    $VP.= " CPP";
                      }

                 
    $VP .= "-$LP";
               }
               Else
               {
                 
    $VP .= ".00";
               }

                echo(
    "($Themanamen[$Thema]:$VP) <br/>");
                
    $u++;

             } 
    Ausgabe:

    (Kunst:6.60 CPP--2)
    (Häuser:5.640 CPP--3) <<<? Da dürften keine Nullen stehen...
    (Garten:4.330 CPP--3) <<<?
    (Wohnen:3.620 CPP--3) <<<?
    (Angebote:0.00)
    (Büro-Objekte:0.00)


  • #2
    monsieur kennt number_format() und sprintf()?

    Kommentar


    • #3
      Es geht eigentlich nicht darum die Zahlen umzuwandeln, es geht darum das da irgendwas mit meinem IF net so ganz stimmt... und ich wüßte gern was...

      Es müsste doch gehen oder???

      Aber danke für den Hinweis...

      Kommentar


      • #4
        Ist es denn richtig das eine 0 angehangen wird wenn $LP nicht 3 ist?
        gruss Chris

        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

        Kommentar


        • #5
          Wenn ich deinen Code richtig verstanden habe, dann ist dein Fehler das ungleich im if.
          Wenn du 2 Kommastellen hast sind diese auch ungleich 3.
          Porbier mal
          PHP-Code:
          if($LP == 1){
             
          //dann füge eine Null an
          }
          else{
            
          //füge keine Null an

          Gruss

          tobi

          p.s. Wie von penizilin geschrieben, gibt es da eingebaute Fkt die genau das machen.
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            PHP-Code:
            $LP strpos($VP".") - strlen($VP); 
            Ermittelt die Position des Punktes von Hinten.

            Wenn also nach dem Punkt nur eine Ziffer ist, also eine Null angehängt wird, steht in $LP die Zahl 2... also nicht drei...

            Das funktioniert ja auch... siehe ausgabe


            PHP-Code:
            $VP .= "-$LP"
            (Dies hängt zu Testzwecken an $VP die Ziffer an, die im IF überprüft wird)

            Ausgegeben wird diese mit:
            PHP-Code:
            echo("($Themanamen[$Thema]:$VP) <br/>"); 
            Im IF wird überprüft ob $LP nicht 3 ist, also keine zwei Nachkommastellen hat.

            Aber wie man sieht hackts da irgendwo:

            (Kunst:6.60 CPP--[COLOR=red]2[/COLOR] )
            (Häuser:5.640 CPP--[COLOR=red]3[/COLOR] ) <<<?
            (Garten:4.330 CPP--[COLOR=red]3[/COLOR] ) <<<?
            (Wohnen:3.620 CPP--[COLOR=red]3[/COLOR] ) <<<?

            Die $LP s hab ich rot markiert...

            Beim ersten ist die angehängte Null ja richtig aber, bei den restlichen sollte keine stehen... da ja auch das $LP = 3 ist....

            Kommentar


            • #7
              Hast du dir $LP mal mittels var_dump() ausgeben lassen ? Sind es die erwarteten Werte ?

              Gruss

              tobi
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                ARGH!
                Ich habs gewußt ich seh den Wald vor lauter, Bäumen nimmer.

                PHP-Code:
                $LP strpos($VP".") - strlen($VP); 
                Hier ergibt sich nicht 3 sonder minus 3.... hab die Abfragen vertauscht und dank meinem Trennstrich den ich zur Übersichtlichkeit hingetan hab... das Minus übersehen....

                Ich wußte es ist irgendwo ein solcher Sch*** Minifehler...

                Kommentar


                • #9
                  Sag ich doch
                  gruss Chris

                  [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                  Kommentar


                  • #10
                    Es geht eigentlich nicht darum die Zahlen umzuwandeln
                    sondern?

                    Kommentar

                    Lädt...
                    X