Rechnen mit PHP

  • Guten Abend,


    die Frage ist ja schon etwas peinlich, aber ich komme einfach nicht dauf :wacko:


    In

    PHP
    $preis1	= $object->p_preis

    steht ein Preis sagen wir 17,46 in

    PHP
    $ps_p1

    steht ein % Wert sagen wir 150 jetzt möchte ich also Grundpreis * % wie mache ich dieses mit PHP? Als Ergebnis muss 43,65 raus kommen :) Die 150 ist nur ein Beispiel, es kann auch mal 22 oder 22,5 vorkommen usw.


    Vielen Dank für die Hilfe.

  • Hmm bei mir kommt das Gewünschte heraus. Bist du sicher das du die Variablen bzw. die Eigenschafte des Objekts mit den richtigen Werten befüllt hast?


    17,46*(1+150/100) = 43,65 ;)

  • Ich verstehe es auch nicht, lasse ich dieses ausgeben:


    PHP
    echo $object->p_preis;
    echo "<br>";
    echo $ps_p1;


    erhalte ich dieses:


    17,64
    150


    das heißt also, die Variablen sind richtig gefüllt?
    Es liegt an dem , da muss ein Punkt hin :/ Kann ich das , bei der Ausgabe in ein . umwandeln um damit zu rechnen?
    OK so: $preis1 = str_replace (",", ".", $object->p_preis) * (1+$ps_p1/100); jetzt muss ich es nur nach dem Rechnen wieder umwandeln?


    OK, das geht dann wohl so: <?php echo htmlspecialchars(str_replace (".", ",", $preis1)); ?><br>


    Und mit runden auf zwei Nachkommastellen geht es so: $preis1 = round(str_replace (",", ".", $object->p_preis) * (1+$ps_p1/100),2);

  • Ich würde mir hier die Frage stellen warum die Eigenschaft der Klasse die Zahl nicht im Format mit Punkt zurückgibt und dies wenn ich die Klasse selbst geschriebene habe ändern.


    Die Anpassung für die Darstellung ist einfacher,wenn man dafür die in Php verfügbare Funktion: number_format verwendet.


    Beispiel:


    PHP
    $ergebnis = round($ergebnis,2);
    $ausgabe = number_format($ergebnis,2,',',' ');

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!