Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 16. März 2016 10:10
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 876
[GELÖST] Summe mit zwei Stellen hinter dem Komma erzwingen
Jehmineh - ich bin so dumm.
Ich habe im Formbuilder-Template einen kleinen Preisrechner gebastelt. Stückzahl mal Einzelpreis plus Porto Ausland oder ggf Porto Inland. Funktioniert an sich auch.
In der Regel kommen da recht gerade Summen zusammen. zB 48,90.
Ich kriege es aber einfach nicht hin, die Null dranzuhängen. Einfach dranschreiben geht auch nicht, weil ab und zu auch Summen ohne Komma rauskommen. Dann würde aus 250 dann 2500, was ja keiner will.
Ich habe es auch schon mit |string_format:"%.2f" versucht. Da wurden dann gar keine Kommastellen mehr gezeigt und die Vorkommastellen wurden abgerundet.
Erfolglos blieb ebenfalls |round: "2" (was wohl auch nicht für Strings gedacht ist) und |number_format:2.
Hier die Bedingung im Template (Absender- und Empfänger-Mail):
[== smarty ==]
{assign var='betrag' value=$fld_49*$fld_66}
{if $fld_49 > 1 && $fld_49 <= 10 && $fld_68 == "Deutschland"}
Betrag: {$betrag+$fld_64} € inkl. {$fld_64} €Versandkosten
{elseif $fld_49 < 2 && $fld_68 == "Deutschland"}
Betrag: {$betrag+$fld_63} € inkl. {$fld_63} € Versandkosten
{elseif $fld_62 != "Deutschland"}
Betrag: {$betrag+$fld_65} € inkl. {$fld_65} € Versandkosten
{/if}
_49 = Stückzahl (1-10), Dropdown
_66 = Stückpreis (14.90), hidden
_64 = Porto große Menge (4.00), hidden
_63 = Porto Einzelstück (2.00), hidden
_65 = Porto Ausland (5.00), hidden
Ich habe auch schon andere Schreibweisen für die Zahlen probiert. Vielleicht sollte ich nicht mit Strings arbeiten?
Frage: Lässt sich eine Summe mit zwei Stellen hinter dem Komma erzwingen und wenn ja wie? Perfekt wäre natürlich auch, wenn volle Summe mit Kommastellen ausgegeben werden (250,00 statt 250)
Danke im voraus für jeden, der mir den Schlauch unter den Füßen wegzeiht.
Beitrag geändert von antibart (16. März 2016 10:37)
Offline
#2 16. März 2016 11:12
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.433
Re: [GELÖST] Summe mit zwei Stellen hinter dem Komma erzwingen
Wo genau hast Du versucht die Zahl zu formatieren?
Vor oder nach dem Berechnen?
Denn wenn ich |string_format:"%.2f" nach dem Berechnen bei der Ausgabe verwende, dann kommt da genau das raus, was Du meiner Meinung nach haben wolltest.
Bsp:
Betrag: {($betrag+$fld_64)|string_format:"%.2f"} € inkl. {$fld_64|string_format:"%.2f"} € Versandkosten
Ergibt z.B.:
Betrag: 48.70 € inkl. 4.00 € Versandkosten
Round() und Number_format() würde ich nicht verwenden, weil die ja durch Runden das Ergebnis verfälschen können.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#3 16. März 2016 11:26
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 876
Re: [GELÖST] Summe mit zwei Stellen hinter dem Komma erzwingen
Danke schonmal fürs Antworten.
Ich habe es genauso gemacht wie du, denke ich.
Hier nochmal direkt und unkontrolliert copy/paste
[== smarty ==]
Anzahl DVD's: {$fld_49}
{if $fld_49 > 1 && $fld_49 <= 11 && $fld_68 == "Deutschland"}
Betrag: {$betrag+$fld_64|string_format:"%.2f"} € inkl. {$fld_64} €Versandkosten
{elseif $fld_49 < 2 && $fld_68 == "Deutschland"}
Betrag: {$betrag+$fld_63|string_format:"%.2f"} € inkl. {$fld_63} € Versandkosten
{elseif $fld_62 != "Deutschland"}
Betrag: {$betrag+$fld_65|string_format:"%.2f"} € inkl. {$fld_65} € Versandkosten
{/if}
Mail:
Anzahl DVD's: 2
Betrag: 53,8 € inkl. 4 €Versandkosten
Vielleicht sind die Anführungsstriche doof?
Beitrag geändert von antibart (16. März 2016 11:27)
Offline
#4 16. März 2016 11:30
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 876
Re: [GELÖST] Summe mit zwei Stellen hinter dem Komma erzwingen
Oh - ich sehe ein Klammer
Das war's - immer wieder die Syntax.
Hab Dank
Beitrag geändert von antibart (16. März 2016 11:33)
Offline
#5 16. März 2016 11:45
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.017
- Webseite
Re: [GELÖST] Summe mit zwei Stellen hinter dem Komma erzwingen
Vielleicht sind die Anführungsstriche doof?
Nöö, doof nicht, machen die Templates aber meiner Meinung nach unnötig unübersichtlich .
Ich halte es immer so - einfache Anführungszeichen für Smarty / Parameter etc., doppelte Anführungszeichen für die HTML-Attribute.
Offline
#6 16. März 2016 13:25
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.433
Re: [GELÖST] Summe mit zwei Stellen hinter dem Komma erzwingen
Oh - ich sehe ein Klammer
Richtig.
Ansonsten gilt das Format ja nur für die eine Zahl, jedoch nicht für das Ergebnis der Operation.
(Erst rechnen)|dann formatieren.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#7 16. März 2016 13:51
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.017
- Webseite
Re: [GELÖST] Summe mit zwei Stellen hinter dem Komma erzwingen
Wenn schon Pseudo-Code, dann
{(Erst rechnen)|dann formatieren}
Offline
#8 16. März 2016 16:21
- antibart
- Server-Pate
- Registriert: 14. Dezember 2010
- Beiträge: 876
Re: [GELÖST] Summe mit zwei Stellen hinter dem Komma erzwingen
Schön formuliert.;)
Offline
Seiten: 1