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

  • Gast-Avatar
    Ein Gast erstellte das Thema 0 nach dem Komma.

    0 nach dem Komma

    Hallo,

    ich lasse mir aus einer Datenbank einen Gesamtpreis errechnen. Dort steht beispielsweise ein Preis von 19,90, den ich mit einer Stückzahl von 2 multiplizieren möchte. Das mache ich nicht bei der Abfrage, sondern bei der Ausgabe mit PHP über das gewöhnliche Multiplizieren "*".

    Er zeigt mir als Ergebnis 39,8 -> ohne die Null am Ende. Ich möchte aber, daß er mir die Null anzeigt, weil ich den Preis korrekt darstellen möchte.

    Wie kann ich das beeinflussen?

  • Gast-Avatar
    Ein Gast antwortete
    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);

    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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 ...

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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';

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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);
    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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 ...

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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 ...

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ja und was fällt dir auf ?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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 ).'
    '

    ?>
    ...

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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 ...

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    naja ... vma lassen wir das ... dennoch sollte sich hier der eine oder andere mal angewöhnen etwas benutzerfreundlicher zu schreiben (ist besonders an matthias gerichtet, der genauer lesen sollte ... außer natürlich er wäre auch der typografischen schreibweise mit dem punkt freundlich gestimmz ) ...

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Naja, Preisangaben werden eigentlich auch mit Punkt gerechnet (Buchhaltung lässt grüßen).
    Klar schreibt jeder wie er will, weil es keine Vorschrift gibt.
    Aber wenn er es korrekt schreiben möchte, sollte er auch den Punkt benutzen, sonst kann er es ja lassen.
    Naja muss jeder selber wissen

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    quelle ist so ziemlich das einzige, wenn man so durchs netzt surft ...

    das hat aber rein garnichts mit meiner aussage zu tun ... korrekt darstellen ... hm gut wer sagt, dass das so richtig ist .... ich kenns nur anderns und hab auch jetzt bei google nichts gefunden, dass dagegen spricht ... nur, dass das komma in viele europäischen (deutschland ist da irgendwo) typografisch richtig ist ...

    nur weil quelle das nimmt (und auch nur auf der website), ist für mich noch lange kein argument ...

    Einen Kommentar schreiben:

Lädt...
X