Ankündigung

Einklappen
Keine Ankündigung bisher.

Nachkomma stellen einstellen bei Taschenrechner

Einklappen

Neue Werbung 2019

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

  • Zyreon
    hat ein Thema erstellt Nachkomma stellen einstellen bei Taschenrechner.

    Nachkomma stellen einstellen bei Taschenrechner

    Ich habe folgendes Problem, für Informatik soll ich einen Taschenrechner mit den Funktionen des addierens, subtrahierens, multiplizierens und dividierens erstellen. Zusätzlich sollten wir noch eine Währungsumrechner von DM in € und umgekehrt erstellen, im Grunde ist das ja das gleiche wie das vorige - ist aber auch nicht so wichtig.
    Nun mein Problem: Das Script läuft an sich und rechnet, nur leider rechnet er immer ohne Nachkommastellen, sprich 12 : 7 = 1 ^^ Das ist natürlich nicht so sonderlich toll. Ich habe es schon irwie mit "number_format" probiert, etc. etc. ^^

    Hier ist der Code von dem Taschenrechner:
    PHP-Code:
    <?php
        
    if (!empty($_POST["submit"]))                        // Wenn Eingabe 'submit' ungleich leer ist, dann mache...
            
    {
            
    $zahl1 $_POST["zahl1"];                        // Variable 'zahl1' = Zahl 1; Variable 'zahl1' = Übertragener Wert von 'name=zahl1'
            
    $zahl2 $_POST["zahl2"];                        // Variable 'zahl2' = Zahl 2; Variable 'zahl2' = Übertragener Wert  von 'name=zahl2'
            
    $rz $_POST["rz"];                              // Variable 'rz' = Rechenzeichen; Variable 'rz' = Übertragener Wert von 'rz' (ausgewählte Option)
            
            
    if ($rz == "+")    $e bcadd($zahl1$zahl2);   // e = Ergebnis; Addition von Variable 'zahl1' und Variable 'zahl2'
            
    if ($rz == "-")    $e bcsub($zahl1$zahl2);   // e = Ergebnis; Subtraktion von Variable 'zahl1' und Variable 'zahl2'
            
    if ($rz == "*")    $e bcmul($zahl1$zahl2);   // e = Ergebnis; Multipliaktion von Variable 'zahl1' und Variable 'zahl2'
            
    if ($rz == ":")    $e bcdiv($zahl1$zahl2);   // e = Ergebnis; Division von Variable 'zahl1' und Variable 'zahl2'
            
    if ($rz == "€"$e bcmul($zahl11.95583) AND $dm "DM";  // e = Ergebnis; Multiplikation von Variable 'zahl1' und '1.95583'
            
    if ($rz == "DM")   $e bcdiv($zahl11.95583) AND $euro "€";  // e = Ergebnis; Division von Variable 'zahl1' und '1.95833'
            

            
    echo "".$zahl1." ".$rz." ".$zahl2." = ".$e." ".$euro." ".$dm."";   // Ausgabe
            
    }
    ?>
    Letztlich ist vielleicht auch irgendwie das Problem, weswegen ich das nicht hinkriege, dass das Ergebnis ja schließlich (logischerweise) eine Variable ist. Wahrscheinlich bin ich einfach nur dumm, aber das wäre mir auch nichts neues
    Hoffe ihr könnt mir helfen :c

  • rkr
    antwortet
    Vorsicht, bcdiv kann nicht kaufmännisch runden:
    http://3v4l.org/vj13h
    http://php.net/manual/de/function.bcdiv.php#100118

    Betrifft natürlich auch alle anderen bc-Funktionen, wenn die Quellwerte mehr als $scale Stellen haben.

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    PHP-Code:
    if ($rz == "DM")   $e bcdiv($zahl11.95583) AND $euro "€" 
    Hier wird mir der Sinn nicht ganz klar... was soll das AND $euro = "€" da hinten dran bewirken?

    Einen Kommentar schreiben:


  • ChristianK
    antwortet
    Ja, vor allem die Variante $b = $a *1.0 halte ich für sehr professionell .

    $b = (float)$a;

    Einen Kommentar schreiben:


  • Zyreon
    antwortet
    Danke für die schnellen Antworten

    Letztlich habe ich es mit der Methode von "chiller20000" gemacht, aber die anderen haben/hätten auch funktioniert.

    Jetzt funktioniert es jedenfalls ausgzeichnet, vielen Dank für die Hilfe!

    VG

    Einen Kommentar schreiben:


  • Crazynet
    antwortet
    ggf hilft Dir

    PHP-Code:
    $BetragB round($Betrag,2); 

    Einen Kommentar schreiben:


  • chiller20000
    antwortet
    Schau dir dochmal die Funktionen an.

    Beispiel mit mal: http://php.net/manual/de/function.bcmul.php

    Da steht alles was du wissen musst

    Einen Kommentar schreiben:


  • Tera3yte
    antwortet
    PHP-Code:
    $zahl *= 1.0
    Sollte dein Problem lösen.

    EDIT:

    Und bezüglich deines "rz", schau dir mal Switch an.

    EDIT2:

    Sicher das du:

    PHP-Code:
    $c $a $b
    und nicht:

    PHP-Code:
    $c $a $b
    machst?

    Einen Kommentar schreiben:

Lädt...
X