 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
06.04.2008, 16:56
|
#1
|
|
TP-Senior
Registriert seit: Dec 2002
Ort: Langenthal
|
Zahlen formatieren in PHP
Hallo,
weshalb werden bei nachfolgender Multiplikation die zwei Nachkommastellen nicht korrekt angezeigt, d.h. es erscheinen immer die "00" nach dem Komma:
$anzahl = 3;
$preis = 29,90;
$gesamt = $anzahl * $preis;
echo $gesamt;
Bei der Ausgabe müsste jedoch 89.70 erscheinen, aber es erscheint mir immer nur die 87.00. Wie es aussieht, rundet es mir "automatisch" schon bei $preis ab. Aber weshalb und wie kann man dies lösen, damit $gesamt korrekt ausgegeben wird?
Danke für alle Hinweise! 
|
|
|
06.04.2008, 17:15
|
#2
|
|
TP-Moderator
Registriert seit: Feb 2003
Ort: Erfurt
|
Mach aus 29,90 --> 29.90. In PHP brauchst Du den Punkt und nicht das Komma als Trenner bei integer und float werten. Für die Ausgabe nimmt Dir number_format() auch viel Arbeit ab.
Beispiel:
PHP-Code:
$anzahl = 3;
$preis = 29.90;
$gesamt = $anzahl * $preis;
echo number_format($gesamt,2,",",".")." €";
__________________
Schöne Grüße aus Thüringen
Stephan Page
Stell Dir vor, hier steht was und keiner liest es!! schon entdeckt?? F1 ist ne geile Taste
Ich beantworte keine E-Mails. Bitte alle Fragen ins Forum
schon gehört??? Das Internet ist voll, die lassen keinen mehr rein!!
|
|
|
06.04.2008, 18:59
|
#3
|
|
TP-Senior
Registriert seit: Dec 2002
Ort: Langenthal
|
Super! Besten Dank für die Hilfe. Wie müsste ich aber z.B. vorgehen, wenn jetzt die Preisangabe aus einer Datei kommt und dort alle Zahlen mit 29,90, also mit Komma erfasst sind? Kann man da auch mit number_format() arbeiten oder bräuchte es da eine andere Lösung?
|
|
|
06.04.2008, 21:21
|
#4
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Hier mal ein Bsp:
PHP-Code:
<?php $numbers = array( 0 => '19,99', 1 => '25,95', 2 => '29,99', 3 => '59,95' );
$multiplikator = 2;
$numbers = preg_replace('/,/', '.', $numbers);
foreach($numbers as $num) { echo ($multiplikator * $num) . " € -> " . number_format(($multiplikator * $num),2,",",".") . " €<br />"; } ?>
|
|
|
07.04.2008, 13:09
|
#5
|
|
TP-Senior
Registriert seit: Dec 2002
Ort: Langenthal
|
Danke noch für das zusätzliche Beispiel von webcreate. Konnte die Beispiele/Hinweise erfolgreich umsetzen!!! 
|
|
|
26.04.2008, 18:11
|
#6
|
|
TP-Newbie
Registriert seit: Apr 2008
|
Formatieren in HTML
Hallo wir haben im XTCommerce eine HTML Seite in der bestimmte Variablen ausgegeben werden.
Diese sehen so z.B. aus {$PREIS}
Nun möchten wir dass der preis der sich aus einer Berechnung ergibt formatiert z.B. 1.10 EUR ausgegeben wird und nicht wie derzeit 1.1 also 2 Stellen hinter dem Komma, auch wenn eben 1.10 ergibt.
Hat da jemand ne Idee
Danke im Voraus
|
|
|
26.04.2008, 23:24
|
#7
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
da xtc smarty benutzt so:
{$PREIS|string_format:"%.2f"}
|
|
|
01.05.2008, 22:31
|
#8
|
|
TP-Newbie
Registriert seit: Apr 2008
|
besten Dank, das hat mir sehr geholfen
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| 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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 14:41 Uhr.
|
 |