Ankündigung

Einklappen
Keine Ankündigung bisher.

0 nach dem Komma

Einklappen

Neue Werbung 2019

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

  • #16
    Mal abgesehn davon, dass mit mit Komma das garnicht formatieren kann:

    PHP-Code:
    <?php
    error_reporting
    (E_ALL);

    echo 
    number_format'19,8' 2).'
    '
    ;
    echo 
    sprintf'%.2lf''19,8' ).'
    '
    ;

    echo 
    number_format19.8 2).'
    '
    ;
    echo 
    sprintf'%.2lf'19.8 ).'
    '
    ;

    ?>
    Probiere es aus ...

    Kommentar


    • #17
      PHP-Code:
      <?php 
      error_reporting
      (E_ALL); 

      echo 
      number_format'19,8' 2',''.').'
      '

      echo 
      sprintf'%.2lf''19,8' ).'
      '


      echo 
      number_format19.8 2',''.').'
      '

      echo 
      sprintf'%.2lf'19.8 ).'
      '

      ?>
      ...

      Kommentar


      • #18
        Ja und was fällt dir auf ?

        Kommentar


        • #19
          Code:
          19,00 <--
          19.00
          19,80 <--
          19.80
          ... mir fällt auf, dass die zahl nun meiner vorstellung einer deutschen formatierung näher kommt ...

          Kommentar


          • #20
            Er zeigt mir als Ergebnis 39,8 -> ohne die Null am Ende
            Nein, du erkennst das nicht richtig.
            Du kannst nicht 39,8 als Zahl übergeben, sondern nur als String.
            Diesen String kannst du aber nicht formatieren.

            Hier geht es:

            echo number_format( 19.8 , 2, ',', '.').'
            ';

            weil der Wert als Zahl da steht

            EDIT:
            http://php3.de/number_format
            Schau dir mal bitte die Beispiele an.

            Kommentar


            • #21
              klar ist es dann keine zahl mehr ... aber warum sollte ich nach einer vorbereiteten ausgaben nochmals damit arbeiten ... würde ich einen html hinzufügen, täte es auch schlecht aussehen ... und wie ers mir ausgibt ist mir ziemlich egal, da es letztendlich nur buchstaben und zahlen sind ...

              echo sprintf('%1$s: € %2$s', 'Preis', number_format( 19.8 , 2, ',', '.')); ... muss zwar als string angegeben werden ... aber ich glaub man kanns verkraften, wenn mans haben kann wies einem gefällt ...

              Kommentar


              • #22
                Naja der Witz ist aber das Zahlen keine Kommas haben
                Der nächste Witz ist, dass er keine Zahlenwert ausgibt, sondern nur ein String und diesen formatieren will.
                Und da dieser String ein Komma hat, wird nur der Teil vor dem Komma erkannt, und Rest nicht.
                Somit ist das ganze falsch.

                In der Programmierung wird nunmal mit Punkt gerechnet.
                Hoffe er baut kein Shop-System, denn dann wird er auf die .... fliegen

                Kommentar


                • #23
                  hm ... man kann doch bisschen rumschreiben ... wenn er nen script rück kriegt muss er sowieso was machen um rechnen zu können ... ja der computer kann rechnen, der mensch lesen ... darum gibts fuzies die ne rechtschreibung machen ...

                  und es gibt soviele leute, die soviel unsinniges zeug mit php realisieren, warum denn nicht ne zahl mit komma

                  PHP-Code:
                  <?php
                  $str 
                  '37,63';

                  function 
                  deFormat($preis) {

                      if(
                  is_string($preis)) {
                          
                  $preisArr explode(','$preis);
                          
                  $preis = (int) $preisArr[0] + (int) $preisArr[1] * 0.01;
                      }

                      return 
                  number_format($preis2',''.');
                  }

                  echo 
                  '
                  '
                  ;
                  echo 
                  number_format($str2',''.');
                  echo 
                  deFormat($str);
                  ?>

                  Kommentar


                  • #24
                    Der OP brauch ja blos ordenlich seine Preise anlegen, dann ist die Funktion überflüssig
                    Wenn du mal viel Zeit hast, dann suche mal hier im Forum.
                    Das Thema war schon oft hier.

                    PS:
                    Deine Funktion geht nicht.
                    Probier mal: $str = '37,6';

                    Kommentar


                    • #25
                      Zwar nicht ellegant, aber naja:

                      PHP-Code:
                      <?php
                      error_reporting
                      (E_ALL);

                      $str '37,6'

                      $preis_punkt number_formatstr_replace(',','.',$str) ,2);
                      $preis_komma str_replace('.',','$preis_punkt);

                      echo 
                      $preis_punkt'
                      '
                      ;
                      echo 
                      $preis_komma'
                      '
                      ;

                      ?>
                      ... so gute Nacht ...

                      Kommentar


                      • #26
                        mhm ... naja, was man nicht alles machen könnte ...
                        schlaf gut

                        PHP-Code:
                        <?php
                        $str 
                        '37,6';

                        function 
                        numberFormat($number$decimals 2$dec_point ','$thousands_sep '.') {

                            if(
                        is_string($number)) {
                                
                        $numberArr explode($dec_point$number);
                                
                        $addZeros $decimals strlen($numberArr[1]);
                                
                        $numberArr[1] = ($addZeros 0) ? $numberArr[1] . str_repeat('0'$addZeros) : substr($numberArr[1], 0$decimals);
                                
                                
                        $number = (int) $numberArr[0] + (int) $numberArr[1] * pow(0.1$decimals);
                            }

                            return 
                        number_format($number$decimals$dec_point$thousands_sep);
                        }

                        echo 
                        numberFormat($str);

                        ?>

                        Kommentar

                        Lädt...
                        X