Vorlage:PreisLang: Unterschied zwischen den Versionen
Maggus (Diskussion | Beiträge) |
Maggus (Diskussion | Beiträge) (Bugfix) |
||
Zeile 10: | Zeile 10: | ||
{{PreisLang|101}} | {{PreisLang|101}} | ||
{{PreisLang|9999}} | {{PreisLang|9999}} | ||
+ | {{PreisLang|9999|-1|debug}} | ||
==Beispiele== | ==Beispiele== | ||
{| class="wikitable oben" | {| class="wikitable oben" | ||
Zeile 49: | Zeile 50: | ||
| {{#vardefine: PreisLang | FEHLER: Keine Zahl }} | | {{#vardefine: PreisLang | FEHLER: Keine Zahl }} | ||
|<!-- Jetzt wird auf eine ganze Zahl gerundet | |<!-- Jetzt wird auf eine ganze Zahl gerundet | ||
− | + | ||
− | + | --> {{#vardefine: PreisRoh | {{#expr: {{{1|}}}/1 round 0 }} }}<!-- | |
− | + | ||
− | + | --><!-- Ab hier wird die Währungseinheit ermittelt (<100 = Telar, <10000 = Lunar, sonst Solar) | |
− | + | ||
− | + | --> {{#ifexpr: {{#var:PreisRoh}} < 100<!-- | |
− | + | --> | {{#vardefine: PreisLang<!-- | |
− | + | --> |{{#expr: {{#var:PreisRoh}}/1 {{#if:{{{2|}}}|round {{{2}}}|}} }}<!-- | |
− | + | --> }}<!-- | |
− | + | --> {{#ifexpr: {{#var:PreisLang}} = 1<!-- | |
− | + | --> |{{#vardefine: Einheit |Telar}}<!-- | |
− | + | --> |{{#vardefine: Einheit |Telare}}<!-- | |
− | + | --> }}<!-- | |
− | }}<!-- Das Ergebnis zurückgeben: | + | |
+ | --> | {{#ifexpr: {{#var:PreisRoh}} < 10000<!-- | ||
+ | --> | {{#vardefine: PreisLang<!-- | ||
+ | --> |{{#expr: {{#var:PreisRoh}}/100 {{#if:{{{2|}}}|round {{{2}}}|}} }}<!-- | ||
+ | --> }}<!-- | ||
+ | --> {{#ifexpr: {{#var:PreisLang}} = 1<!-- | ||
+ | --> |{{#vardefine: Einheit |Lunar}}<!-- | ||
+ | --> |{{#vardefine: Einheit |Lunare}}<!-- | ||
+ | --> }}<!-- | ||
+ | |||
+ | --> | {{#vardefine: PreisLang<!-- | ||
+ | --> |{{#expr: {{#var:PreisRoh}}/10000 {{#if:{{{2|}}}|round {{{2}}}|}} }}<!-- | ||
+ | --> }}<!-- | ||
+ | --> {{#ifexpr: {{#var:PreisLang}} = 1<!-- | ||
+ | --> |{{#vardefine: Einheit |Solar}}<!-- | ||
+ | --> |{{#vardefine: Einheit |Solare}}<!-- | ||
+ | --> }}<!-- | ||
+ | |||
+ | --> }}<!-- | ||
+ | |||
+ | --> }} | ||
+ | }}<!-- --> | ||
+ | <!-- Das Ergebnis zurückgeben: | ||
-->{{zahlenformat:{{#var:PreisLang}}}} {{#var:Einheit}}<!-- | -->{{zahlenformat:{{#var:PreisLang}}}} {{#var:Einheit}}<!-- | ||
DEGUB--> | DEGUB--> |
Version vom 9. Juni 2014, 13:38 Uhr
Dies ist die Vorlage „PreisLang“. Sie wandelt einen numerischen Preis in Telaren um in einen anzeigbaren Wert mit Währungskürzel. Für ausgeschriebene Währungsnamen siehe: Vorlage:PreisKurz.
Sie sollte im folgenden Format genutzt werden:
{{PreisLang|<Wert>|<Nachkommastellen>}}
wobei der erste Parameter <Wert> (Pflichtparameter) der Preis in der kleinesten Währungseinheit ist (also der Preis in Telaren) und der zweite Parameter <Nachkommastellen> (optional) angibt, auf wieviele Stellen der Wert gerundet werden soll (siehe dazu auch: mediawiki.or: Runden). Wird der zweite Parameter nicht angegeben, wird auch nicht gerundet (es entstehen dann mitunter einige Nachkommastellen).
1 Lunar
1,01 Lunare
99,99 Lunare
100 Lunare
{{{1|}}} = 9999
{{#expr: {{{1|}}}/1 round 0 }} = 9999
{{#var:PreisRoh}} = 9999
{{#var:PreisLang}} = 100
Beispiele
Eingangswert | Ergebnis | Kommentar |
---|---|---|
{{PreisLang| 37 }} |
37 Telare |
37 Telare rein
→ 37 Telare raus |
{{PreisLang| 37 | 1 }} |
37 Telare |
37 Telare auf eine Nachkommastelle runden
→ dasselbe Ergebnis (es entsteht ja kein Bruch) |
{{PreisLang| 37 | -1 }} |
40 Telare |
37 Telare auf ganze 10er runden (-1)
→ Jetzt ist es etwas mehr geworden |
{{PreisLang| 127 | 0}} |
1 Lunar |
127 Telare rein, auf ganze Zahl runden (0)
→ Ab 100 Telaren wird in Lunare gewandelt - und die werden hier auf eine ganze Zahl gerundet |
{{PreisLang| 127 | 1}} |
1,3 Lunare |
127 Telare rein, auf eine Nachkommastelle runden (1)
→ Es werden wieder Lunare erzeugt, diesmal aber mit einer Zahl hinter dem Komma |
{{PreisLang| 127 }} |
1,27 Lunare |
127 Telare rein, nicht runden
→ Es werden wieder Lunare mit allen Nachkommastellen erzeugt |
{{PreisLang| 1307 | 1}} |
13,1 Lunare |
1.307 Telare rein, auf eine Nachkommastelle runden (1)
→ Lunare mit einer gerundeten Zahl hinter dem Komma |
{{PreisLang| 14007 | 0 }} |
1 Solar |
14.007 Telare rein, auf ganze Zahl runden (0)
→ Diesmal enstehen Solare, da die Summe fünfstellig ist. Und ohne Nachkommastelle wird hier einiges weggerundet. |
{{PreisLang| 150077 | 2 }} |
15,01 Solare |
150.007 Telare rein, zwei Nachkommastellen (2)
→ Wieder enstehen Solare, und dank der beiden Nachkommastellen ist noch ein Lunar dabei. |
Klicke auf „Bearbeiten“, um den Vorlagentext anzusehen.