Funktion zum Runden

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Funktion zum Runden

    Sicherlich gibt es schon eine Funktion in Php die eine Zahl in Bruchschreibweise runden kann.

    Ich habe mal eine Funktion zusammengebastelt. Bis jetzt funktioniert sie, jedoch weiß ich nicht ob sie für ALLE Zahlen funktioniert. Kann man die FUnktion so lassen? oder ist das eine FALSCHE lösung, die die oben genannten Anforderungen nicht erfüllen kann?

    THX

    PHP Code:
    function runde ($zahl,$teiler)
    {
        
    $bruch $zahl $teiler;
        if (
    $zahl $teiler != 0){
            
    $rest $zahl $teiler;
                if ((
    $teiler/$rest) > 2) {
                    
    $zahl explode(".",$bruch);
                    echo 
    $zahl[0];
                    echo 
    "<br>";
                }else{
                    
    $zahl explode(".",$bruch);
                    echo ++
    $zahl[0];
                    echo 
    "<br>";
                }
        }else
        {
            echo 
    "Zahl ist gerade und wird nicht gerundet!";
            echo 
    "<br>";
        }
    }

    //BEISPIEL - FUNKTION WIRD ANGEWANDT

    echo 10/" ==>"runde(10,2); 

    echo 
    3/2  " ==>"runde(3,2);

    echo 
    13/" ==>"runde(13,7); 

    echo 
    37/" ==>"runde(37,3); 

    echo 
    9/" ==>"runde(9,7); 

    echo  
    111/" ==>"runde(111,7);


    // Ausgabe
    ==>Zahl ist gerade und wird nicht gerundet!
    1.5 ==>2
    1.85714285714 
    ==>2
    12.3333333333 
    ==>12
    1.28571428571 
    ==>1
    15.8571428571 
    ==>16 

  • #2
    Warum kannst du nicht anstatt runde($zahl, $teiler); round($zahl/$teiler, 0); verwenden?
    Du kannst jeden Tag wie deinen letzten leben, du musst nur jeden Tag das Gleiche tun.

    Denk' mal drüber nach!

    Comment


    • #3
      Ich blicke zwar den Sinn hinter deinen Bemühungen nicht so ganz, aber hast du trotzdem mal negative Werte mit deiner Funktion getestet?
      Simploo CMS - das einfache Webseiten-Bearbeitungsprogramm

      Comment


      • #4
        ich nehme an dass es bei negativen werten noch nicht geht, Wäre die Funktion denn für positive WErte okay ?

        @ Click, weil ich'n bisschen Gedächnistraining haben und irgend ne Funktion erstellen wollte

        Comment


        • #5
          Warum kannst du nicht anstatt runde($zahl, $teiler); round($zahl/$teiler, 0); verwenden?
          versteh ich auch nich ...

          http://de.php.net/round
          tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
          documentation: php.net mysql.com framework.zend.com

          Die Nachtwache!

          Comment


          • #6
            Hab grade nen Bug bei dir gefunden:
            PHP Code:
            ($zahl $teiler != 0){ 
            muss zu
            PHP Code:
            ($zahl $teiler !== 0){ 
            werden
            Du kannst jeden Tag wie deinen letzten leben, du musst nur jeden Tag das Gleiche tun.

            Denk' mal drüber nach!

            Comment


            • #7
              Thx Click,warum funktioniert's dann trotzdem? Is Php wohl net so zimperlich wie manch andere Sprachen?

              und nochmal ... Es geht hier nicht um den SINN der Funktion

              Comment


              • #8
                weiß auchned... eigentlich müsste die Abfrage immer halbumgesetzt so aussehn:
                if(true)
                naja. schön ist's auf jedenfall nicht. php ist ja immer sehr felxibel, anscheinend auch an dieser stelle
                Du kannst jeden Tag wie deinen letzten leben, du musst nur jeden Tag das Gleiche tun.

                Denk' mal drüber nach!

                Comment


                • #9
                  worum gehts dann? ästhetischen wert? er ist gering, weil du ein fahrrad erfindest.

                  5 ==>Zahl ist gerade und wird nicht gerundet!
                  die zahl ist nicht gerade, sondern ganz.

                  Comment

                  Working...
                  X