Ganzzahl-Kontrolle

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

  • Ganzzahl-Kontrolle

    Hallo!

    Hab schon lange nicht mehr mit PHP gearbeitet. Jetzt hab ich irgendwie nen Brett vorm Kopf. Hoffe, ihr könnt mir schnell weiterhelfen...

    Ich brauch ne Funktion, die mir true oder false zurückgibt, wenn ich eine variable auf Ganzzahl überprüfe, die in .5er-schritten erhöht wird.

    quasi so:

    for ($i=0;$i <25; $i=$i+.5) {
    if (istganzzahl($i)=="true") $k="00" ;
    else $k="30";
    }
    ich hoffe auf schnelle antwort, ist nämlich recht dringend...

  • #2
    is_integer()
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      ein blick ins manual hätts ja auch getan ... wo es doch dringend ist
      http://de.php.net/manual/de/language.types.php
      Kissolino.com

      Kommentar


      • #4
        wobei ich mich glaube erinnern zu können, dass aus $i nach der ersten Addition von 0.5 automatisch ein double wird, und das auch so bleibt (und somit das is_integer() nicht hinhaut) *nicht ganz sicher ist*

        Falls dem so ist, funzt das hier auf jeden Fall (wenn ich grad keinen Denkfehler gemacht habe ):
        PHP-Code:
        for ($i=0;$i <25$i=$i+.5) {
            if ((
        $i 0.5) % == 0
            echo 
        "$i: Ganzzahl<br>";
            else 
            echo 
        "$i: keine Ganzzahl<br>";
         } 
        [color=red]Geht nicht[/color] ist keine Fehlermeldung

        Kommentar


        • #5
          @bigChief Du hast schon recht

          1 = integer

          1 += 0,5 = double

          += 0,5 aber wieder integer. Somit ist is_integer() genau das Gesuchte
          h.a.n.d.
          Schmalle

          http://impressed.by
          http://blog.schmalenberger.it



          Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
          ... nur ohne :-)

          Kommentar


          • #6
            ja, mit (int) konnte ich nichts anfangen, weil wie schon gesagt wurde, der typ dann von double oder sonstiges ist.

            Aber der Post von Big Chief konnte mir helfen. Danke!

            Kommentar


            • #7
              *g* das hat mir nun keine Ruhe gelassen, und ich hab diese Schleife mal flott bei mir ausprobiert.

              PHP-Code:
              for ($i=0;$i <25$i=$i+.5) {
              if (
              is_integer($i))
                      echo 
              "$i: Ganzzahl<br>";
              else  {
                      echo 
              "$i: keine Ganzzahl - ".gettype($i)."<br>";
              }

              Ergebnis:
              nur die "0" wird als Ganzzahl erkannt .. ansonsten bleibt $i als double deklariert, auch wenn wieder eine Ganzzahl drinsteht.
              [color=red]Geht nicht[/color] ist keine Fehlermeldung

              Kommentar


              • #8
                Original geschrieben von Big Chief
                Ergebnis:
                nur die "0" wird als Ganzzahl erkannt .. ansonsten bleibt $i als double deklariert, auch wenn wieder eine Ganzzahl drinsteht.
                *grrr* Man lernt ja nicht aus
                h.a.n.d.
                Schmalle

                http://impressed.by
                http://blog.schmalenberger.it



                Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                ... nur ohne :-)

                Kommentar


                • #9
                  PHP-Code:
                  if($i - (int)$i// keine ganzzahl
                  else // ganzzahl 
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X