SetaPDF
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 20.05.2008, 21:05   #1
TP-Senior
 
Registriert seit: Dec 2002
Ort: Langenthal
Pixelmaster macht alles soweit korrekt

Preise einheitlich formatieren


Hallo,
wie kann man z.B. folgende Zahlen auf einen gemeinsamen "Nenner" in PHP formatieren?

Folgende Zahlen aus einer DB werden eingelesen:

38,5
19,99
10
47,5

Ausgabe sollte nun für alle Zahlen wie folgt aussehen:

38,50
19,99
10,00
47,50

Ich habe es schon mal mit number_format() ausprobiert, aber da kamen alle Zahlen wie folgt aus:

38,00
19,00
10,00
47,00

Die Zahlen wurden zwar zweistellig nach dem Komma dargestellt, aber alles wurde abgerundet.

Wie könnte man dies sonst noch lösen?
Danke für jegliche Hinweise.
Pixelmaster ist offline   Mit Zitat antworten


Alt 20.05.2008, 21:16   #2
TP-Moderator
 
Benutzerbild von Rizzo
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
Rizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine User
Zitat:
Zitat von Pixelmaster Beitrag anzeigen
Ich habe es schon mal mit number_format() ausprobiert, aber da kamen alle Zahlen wie folgt aus ...
Aha, auf number_format bist Du gekommen, aber nicht auf money_format, obwohl das in der Dokumentation, wie üblich, als Querverweis direkt unter dem Referenzbeispiel steht?!
Rizzo ist gerade online   Mit Zitat antworten
Alt 20.05.2008, 22:23   #3
TP-Senior
 
Registriert seit: Dec 2002
Ort: Langenthal
Pixelmaster macht alles soweit korrekt
Hallo Rizzo,
ja, das mit dem money_format ist ein guter Hinweis, aber wie packe ich es nun an?

Folgende Variable muss so formatiert werden: $DS[1] und zwar in folgendem Codeschnipsel:

Code:
printf($fmt2,$key,$DS[0],$DS[1],$key);
Ich hab's schon mal so ausprobiert, aber da hat sich nichts gerührt:

Code:
printf($fmt2,$key,$DS[0],money_format($DS[1],2),$key);
oder wie müsste man dann dieses Teil richtig einbauen?
Pixelmaster ist offline   Mit Zitat antworten
Alt 21.05.2008, 07:46   #4
TP-Moderator
 
Benutzerbild von StephanF
 
Registriert seit: Feb 2003
Ort: Erfurt
StephanF ist ein richtiges Arbeitstier - DANKEStephanF ist ein richtiges Arbeitstier - DANKEStephanF ist ein richtiges Arbeitstier - DANKEStephanF ist ein richtiges Arbeitstier - DANKE
Bei mir läuft money_format zwar nicht, aber number_format richtig angewandt reicht völlig, oder überseh ich hier was?
PHP-Code:
$geld 19.99;
echo 
number_format($geld 2'.'',')." €";
echo 
'<br>';
echo 
number_format($geld 2',''.')." &euro;";

#Ausgabe:
#19.99 €
#19,99 € 
__________________
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!!
StephanF ist offline   Mit Zitat antworten
Alt 21.05.2008, 19:38   #5
TP-Senior
 
Registriert seit: Dec 2002
Ort: Langenthal
Pixelmaster macht alles soweit korrekt
Hallo StephanF,
das Problem bei mir ist, dass es sämtliche Zahlen abrundet und dann erscheinen sie so 38,00 (richtig wäre aber 38,50). Wenn ich es mit number_format() mache, dann kriege ich diese Ergebnisse. Woran könnte es liegen, dass die Zahlen abgerundet werden?
Pixelmaster ist offline   Mit Zitat antworten
Alt 22.05.2008, 10:46   #6
TP-Moderator
 
Benutzerbild von StephanF
 
Registriert seit: Feb 2003
Ort: Erfurt
StephanF ist ein richtiges Arbeitstier - DANKEStephanF ist ein richtiges Arbeitstier - DANKEStephanF ist ein richtiges Arbeitstier - DANKEStephanF ist ein richtiges Arbeitstier - DANKE
welcher datentyp wird in der DB für die Werte den verwendet?
__________________
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!!
StephanF ist offline   Mit Zitat antworten
Alt 22.05.2008, 12:50   #7
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Oyten
DSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's geht
Zitat:
Zitat von Pixelmaster Beitrag anzeigen
das Problem bei mir ist, dass es sämtliche Zahlen abrundet und dann erscheinen sie so 38,00 (richtig wäre aber 38,50).
Dann sorge doch vor der Übergabe an number_format einfach dafür, dass eine korrekt gerundete Zahl uebergeben wird. round() fällt mir da zufällig ein.
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Alt 22.05.2008, 17:32   #8
TP-Senior
 
Registriert seit: Feb 2008
Ort: Marl
Settler ist auf einem guten Weg
Zitat:
Hinweis: The function money_format() is only defined if the system has strfmon capabilities. For example, Windows does not, so money_format() is undefined in Windows.
Gebe StephanF recht (number_format).
Schau, welcher Datentyp da angeflogen kommt, wie ist denn die Ausgabe deiner DB_Abfrage direkt? Auch gerundet? Überprüfe, ob die Werte korrekt in der DB stehen, ansonsten wäre der Quelltext gut (bitte inkl. Datentyp der SQL-Spalte für deinen Preis), Glaskugeln waren gestern ausverkauft.
Settler ist offline   Mit Zitat antworten
Alt 22.05.2008, 17:40   #9
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Oyten
DSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's geht
Zitat:
Zitat von Pixelmaster Beitrag anzeigen
Die Zahlen wurden zwar zweistellig nach dem Komma dargestellt, aber alles wurde abgerundet.
Also ich kann das nicht bestätigen. Ich nutze das ebenso und habe ganz normale Ausgaben.

PHP-Code:
function print_preis($preis,$nachkommastellen=2,$euro=1)
{
    
$ret=number_format($preis$nachkommastellen',''.');
    if (
$euro$ret.=' &euro;';
    return 
$ret;

Bist Du sicher, dass Du nicht versehentlich selbst für ein Abrunden sorgst (eventuell durch Typumwandlung von float nach integer)?
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Preise einheitlich formatieren Preise einheitlich formatieren
« Multidimensionale Arrays funktionieren bei mir nie | Datensatznavigation PHP/MYSQL »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:23 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67