php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.05.2005, 12:19  
Gast
 
Beiträge: n/a
Standard mehrer rechoperationen in einem schritt

hallo!
ich glaube ich habeh ier ein kleines Syntaxproblem:
PHP-Code:
<?php

       $neu2 
str_replace(","".","$satz[1]");//kommastellenberechnung
      
$summe $summe + ($satz[4] * $neu2);
      
$formatted sprintf("%01.2f"$summe);

       
//satz[0] artikelbez
       //satz[1] preis
       //satz[2] id
       //satz[3] mwst
       //satz[4] menge
echo sprintf("%01.2f", ($satz[4] * $neu2) * ($satz[3]/100) + ($satz[4] * neu2));//Ausgabe des gesamtpreis
?>
Es geht darum, das ich den Gesamtpreis mit MwSt ausgeben will. Dazu errechne ich erstmal den Gesamtpreis ohne MwSt:
PHP-Code:

sprintf
("%01.2f"$satz[4] * $neu2
Den möchte ich nun mit MwSt berechnen, also zuersteinmal $satz[3] (Mwst):100. Ich erhalte z.B. 0,16. Diese 0,16 dann wieder mal den gesamtpreis ohne MwSt und dann nochmal + Gesamtpreis ohne MwSt.
Das soll diese Zeile bedeuten:
PHP-Code:
<?
echo sprintf("%01.2f", ($satz[4] * $neu2) * ($satz[3]/100) + ($satz[4] * neu2));
?>
Ich hab sicher nen syntaxfehler drin, denn bis jetzt rechnet er mir nur Quatsch aus.

?>[/php]
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.05.2005, 12:44  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Auch wenn ich nicht genau weiss, was in deinen Variablen steckt, denke ich, die Formel müsste so sein:
  • Preis_ohne_MWST = Einzelpreis * Anzahl;
    Endpreis = Preis_ohne_MWST + Preis_ohne_MWST / 100 * MWST
Das würde dann in deinem Fall vermutlich zu folgender Ausgabe führen:
PHP-Code:
<?php
printf
("%01.2f
"
$satz[4] * $neu2 /  100 $satz[3] + $satz[4] * neu2);
?>
[edit] Hab den Endpreis korrigiert (auf Anregegung des Gerhard)
__________________
Gruss
L
lazydog ist offline  
Alt 11.05.2005, 12:44  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Wenn Du einen Syntax-Fehler drin hättest, käme ein Parse-Error.
Du hast höchstens einen semantischen Fehler drin.

Gib mal die Zahlenwerte und die zugehörige Ausgabe her.

Edit:
Rumgemecker an lazydogs Rechnung entfernt.
Der_Gerhard ist offline  
Alt 11.05.2005, 13:08  
Gast
 
Beiträge: n/a
Standard

Also wenn
Menge des Artikels ($satz[4]) = 9
Einzelpreis des Artikels (ohne Mwst) = 33,66€ ($satz[1])
MwSt ($satz[3]) = 12%

Aber da ich von $satz[1] das ", " in einen "." umwandeln mußte:
PHP-Code:
<?
$neu2 
str_replace(","".","$satz[1]");
?>
Wenn ich jetzt
PHP-Code:
<?
echo sprintf("%01.2f
"
$satz[4] * $neu2 /  100 $satz[3] + $satz[4] * neu2);
?>
rechne kommt 36,35€ raus.

Wenn ich
PHP-Code:
<? echo sprintf("%01.2f", ($satz[4] * $neu2) * ($satz[3]/100) + ($satz[4] * neu2));?>
rechne kommt ebenfalls 36,35€ als Ergebnis.
 
Alt 11.05.2005, 13:19  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Also der Kandidat hätte 100 Punkte, wenn da 339,30 stehen würde.....
Das Ergebnis liegt schon sehr weit daneben.

Poste mal den Code einschließlich Wertzuweisungen zu den Variablen.

Lass Dir außerdem mal die Werte der einzelnen Klammern ausgeben.

Edit:
Mach auch mal print_r($satz);
Der_Gerhard ist offline  
Alt 11.05.2005, 13:36  
Gast
 
Beiträge: n/a
Standard

hab s raus!
Hab einfach die rechnung gesplitet:
PHP-Code:
...
$neu2 = str_replace(",", ".","$satz[1]");//kommastellenberechnung
       $gesamt1 = $satz[4] * $neu2 * ($satz[3]/100);
       $gesamt2 = $satz[4] * $neu2;
      $summe = $summe + $gesamt1 + $gesamt2;
...
<td width="25%" align="center"><? echo sprintf("%01.2f",($gesamt1 $gesamt2));?>

</td>
danke euch!
 
Alt 11.05.2005, 13:40  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Welchen Wert hat $summe vorher?

So recht klar ist mir die Sache jetzt aber nicht.
Kann das mit den Typen der Variablen zu tun haben?
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 11.05.2005, 15:57  
Gast
 
Beiträge: n/a
Standard

Die summe startet bei 0
$satz ist ein array,welches ausgelesen wird.
PHP-Code:
<?
 $summe 
0;
   
$zahl count($datensaetze);

    for (
$nr=0;$nr<$zahl;$nr++)
      {
       
$satz explode(":",$datensaetze[$nr]);
       
$neu2 str_replace(","".","$satz[1]");//kommastellenberechnung
       
$gesamt1 $satz[5] * $neu2 * ($satz[3]/100);
       
$gesamt2 $satz[5] * $neu2;
       
$gesamt_all $gesamt1 $gesamt2;
      
$summe $summe $gesamt1 $gesamt2;
      
$formatted sprintf("%01.2f"$summe);
....
<
tr>
  
  <
td width="20%" style="padding-left:5px"><? echo $satz[4?>

</td>
  <td width="20%" style="padding-left:5px"><? echo $satz[0?>

</td>
  <td width="15%" align="center"><? echo $satz[5?>

</td>
  <td width="20%" align="center"><? echo $satz[1?>

</td>
  <td width="20%" align="center"><? echo $satz[3?>

</td>
  
   <td width="25%" align="center"><? echo sprintf("%01.2f",($gesamt1 $gesamt2));?>

</td>
...
<td width="30%" style="padding-rigth:8px;padding-left:5px">
Rechnungssumme (inkl. MwSt)</td>
   <td width="30%" align="center">

<u>[b]<? echo $formatted ?> €[/b]</u></td>
?>
So siehts letzendlich ungefähr aus.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
W2k3 mehrer User per RD anmelden fragnicht Server, Hosting und Workstations 15 07.02.2008 15:17
n:m beziehung, zuordung von mehrer datensätzen zu einander Crypi Datenbanken 2 14.09.2006 11:27
Mehrer Bildergrössen in einem String ändern PHP Tipps 2007 6 17.11.2005 15:11
Mehrer Dateien hochladen flual2000 PHP Tipps 2005-2 1 06.09.2005 17:34
Schritt vorwärts Court Platzbelegung 24bits PHP Tipps 2005-2 2 13.08.2005 17:31
mehrer scripts zusammen fügen PHP Tipps 2005-2 4 26.06.2005 19:38
Mehrer Links in einer Grafik scooter HTML, Usability und Barrierefreiheit 4 24.05.2005 09:28
Mehrer Bild datein Includen PHP Tipps 2005 4 07.05.2005 14:38
wie kann man einen Datensatz mit mehrer attributen löschen ckrentel PHP Tipps 2005 2 24.03.2005 21:36
mehrer Spalten auslesen?! Calli PHP Tipps 2005 6 14.02.2005 19:14
[Erledigt] PHP Formular - Daten an nächsten Schritt weiter geben - Wie? PHP Tipps 2005 14 02.01.2005 20:05
[Erledigt] mit dem $_get Befehl mehrer scripts in eine seite einbauen PHP Tipps 2004-2 7 11.12.2004 11:50
Selber schritt für schritt ein GB erstellen. 'progman' Beitragsarchiv 1 29.11.2004 12:36
phpinfo - Schon beim ersten Schritt gescheitert PHP Tipps 2004 3 25.10.2004 19:33
[Erledigt] MySQL Schritt für Schritt Datenbanken 19 01.06.2004 13:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
rechoperationen, php sprintf(\.2f\,, php .2f

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:32 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.