Zeile 1: |
Zeile 1: |
| <noinclude> | | <noinclude> |
− | Dies ist die Vorlage „PreisKurz“. Sie wandelt einen numerischen Preis in Telaren um in einen anzeigbaren Wert mit Währungskürzel. | + | Dies ist die Vorlage „PreisKurz“. Sie wandelt eine Zahl in einen Preis um, dem die passende Währungseinheit (T/L/S) angehangen wird. Beispiel: |
− | Beispiele: | + | 37 → {{PreisKurz| 37 }} |
| + | Dabei gelten folgende Regeln: |
| + | * Die zu wandelnde Zahl ist die kleineste Währungseinheit = Telare |
| + | * Die zu wandelnde Zahl hat keine Nachkommastellen und keine Tausender-Trennpunkte (ganze, unformatierte Zahl) |
| + | * Unter einem Wert von 100 werden Telare zurückgegeben |
| + | * Ab einem Wert von 100 (unter 10.000) werden Lunare zurückgegeben |
| + | * Ab einem Wert von 10.000 werden Solare zurückgegeben |
| + | Für die Anzeige mit ausgeschriebenen Währungseinheiten (Telare, Lunare, Solare) siehe: [[:Vorlage:PreisLang]]. |
| + | |
| + | Sie sollte im folgenden Format genutzt werden: |
| + | <pre> |
| + | {{PreisKurz|<Wert>|<Nachkommastellen>}} |
| + | </pre> |
| + | 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: [http://www.mediawiki.org/wiki/Help:Extension:ParserFunctions/de#Runden mediawiki.org: Runden]). Wird der zweite Parameter nicht angegeben, wird auch nicht gerundet (es entstehen dann mitunter einige Nachkommastellen). |
| + | |
| + | ==Beispiele== |
| {| class="wikitable oben" | | {| class="wikitable oben" |
− | ! Eingangswert !! Ergebnis | + | ! Eingangswert !! Ergebnis !! Kommentar |
| + | |- |
| + | | <nowiki>{{PreisKurz| 37 }}</nowiki> || {{PreisKurz| 37 }} || 37 Telare rein |
| + | → 37 Telare raus |
| + | |- |
| + | | <nowiki>{{PreisKurz| 37 | 1 }}</nowiki> || {{PreisKurz| 37 | 1 }} || 37 Telare auf eine Nachkommastelle runden |
| + | → dasselbe Ergebnis (es entsteht ja kein Bruch) |
| + | |- |
| + | | <nowiki>{{PreisKurz| 37 | -1 }}</nowiki> || {{PreisKurz| 37 | -1 }} || 37 Telare auf ganze 10er runden (-1) |
| + | → Jetzt ist es etwas mehr geworden |
| + | |- |
| + | | <nowiki>{{PreisKurz| 127 | 0}}</nowiki> || {{PreisKurz| 127 | 0}} || 127 Telare rein, auf ganze Zahl runden (0) |
| + | → Ab 100 Telaren wird in Lunare gewandelt - und die werden hier auf eine ganze Zahl gerundet |
| + | |- |
| + | | <nowiki>{{PreisKurz| 127 | 1}}</nowiki> || {{PreisKurz| 127 | 1}} || 127 Telare rein, auf eine Nachkommastelle runden (1) |
| + | → Es werden wieder Lunare erzeugt, diesmal aber mit einer Zahl hinter dem Komma |
| |- | | |- |
− | | 10 || {{PreisKurz|10|DEBUG}} | + | | <nowiki>{{PreisKurz| 127 }}</nowiki> || {{PreisKurz| 127 }} || 127 Telare rein, nicht runden |
| + | → Es werden wieder Lunare mit allen Nachkommastellen erzeugt |
| |- | | |- |
− | | 120 || {{PreisKurz|120}} | + | | <nowiki>{{PreisKurz| 1307 | 1}}</nowiki> || {{PreisKurz| 1307 | 1}} || 1.307 Telare rein, auf eine Nachkommastelle runden (1) |
| + | → Lunare mit einer gerundeten Zahl hinter dem Komma |
| |- | | |- |
− | | 1300 || {{PreisKurz|1300}} | + | | <nowiki>{{PreisKurz| 14007 | 0 }}</nowiki> || {{PreisKurz| 14007 | 0 }} || 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. |
| |- | | |- |
− | | 14000 || {{PreisKurz|14000}} | + | | <nowiki>{{PreisKurz| 150077 | 2 }}</nowiki> || {{PreisKurz| 150077 | 2 }} || 150.007 Telare rein, zwei Nachkommastellen (2) |
| + | → Wieder enstehen Solare, und dank der beiden Nachkommastellen ist noch ein Lunar dabei. |
| |- | | |- |
− | | 150000 || {{PreisKurz|150000}} | + | | <nowiki>{{PreisKurz| 150077 }}</nowiki> || {{PreisKurz| 150077 }} || 150.007 Telare rein, keine Angabe zu Nachkommastellen |
| + | → Solare mit vielen Nachkommastellen. |
| |} | | |} |
| | | |
− | Sie sollte im folgenden Format genutzt werden:
| |
− | <pre>
| |
− | {{PreisKurz|<Wert>}}
| |
− | </pre>
| |
− | wobei <Wert> der Preis in der kleinesten Währungseinheit ist (also der Preis in Telaren).
| |
| Klicke auf „Bearbeiten“, um den Vorlagentext anzusehen. | | Klicke auf „Bearbeiten“, um den Vorlagentext anzusehen. |
− | </noinclude><includeonly><!-- START--> | + | </noinclude><includeonly><!-- START |
− | <!-- Ist es überhaupt eine Zahl? --> | + | --><!-- Ist es überhaupt eine Zahl? |
− | {{#iferror: | + | -->{{#iferror:<!-- |
− | {{#expr: {{{1|}}}+1 }}
| + | --> {{#expr: {{{1|}}}+1 }}<!-- |
− | |FEHLER: Keine Zahl
| + | --> | {{#vardefine: PreisKurz | FEHLER: Keine Zahl }}<!-- |
− | |<!-- Jetzt wird auf eine ganze Zahl gerundet
| + | --> |<!-- Jetzt wird auf eine ganze Zahl gerundet |
− | -->{{#vardefine: PreisRoh = {{#expr: {{{1|}}}/1 round 0 }} }}<!--
| + | |
− | -->{{#if: {{#expr: {{#var:PreisRoh}}<100}}
| + | --> {{#vardefine: PreisRoh | {{#expr: {{{1|}}}/1 round 0 }} }}<!-- |
− | | {{#vardefine: PreisKurz = {{#var:PreisRoh}} T}}
| + | |
− | |}}
| + | --><!-- Ab hier wird die Währungseinheit ermittelt (<100 = Telar, <10000 = Lunar, sonst Solar) |
− | }}<!-- Das Ergebnis zurückgeben: | + | |
− | -->{{#var:PreisKurz}}<!-- ENDE | + | --> {{#ifexpr: {{#var:PreisRoh}} < 100<!-- |
− | -->-- DEGUB | + | --> | {{#vardefine: PreisKurz<!-- |
− | {{#if: {{{2|}}} | | + | --> |{{#expr: {{#var:PreisRoh}}/1 {{#if:{{{2|}}}|round {{{2}}}|}} }}<!-- |
− | '''<nowiki>{{{1|}}}</nowiki>''' = {{{1|}}} | + | --> }}<!-- |
− | '''<nowiki>{{#var:PreisRoh}}</nowiki>''' = {{#var:PreisRoh}} | + | --> {{#vardefine: Einheit |T}}<!-- |
− | '''<nowiki>{{#var:PreisKurz}}</nowiki>''' = {{#var:PreisKurz}} | + | |
− | |}} | + | --> | {{#ifexpr: {{#var:PreisRoh}} < 10000<!-- |
− | --> | + | --> | {{#vardefine: PreisKurz<!-- |
− | </includeonly> | + | --> |{{#expr: {{#var:PreisRoh}}/100 {{#if:{{{2|}}}|round {{{2}}}|}} }}<!-- |
| + | --> }}<!-- |
| + | --> {{#vardefine: Einheit |L}}<!-- |
| + | |
| + | --> | {{#vardefine: PreisKurz<!-- |
| + | --> |{{#expr: {{#var:PreisRoh}}/10000 {{#if:{{{2|}}}|round {{{2}}}|}} }}<!-- |
| + | --> }}<!-- |
| + | --> {{#vardefine: Einheit |S}}<!-- |
| + | |
| + | --> }}<!-- |
| + | |
| + | --> }} |
| + | }}<!-- |
| + | --><!-- Das Ergebnis zurückgeben: |
| + | -->{{zahlenformat:{{#var:PreisKurz}}}} {{#var:Einheit}}<!-- |
| + | DEGUB-->{{#ifeq: debug | {{lc:{{{3|}}}}}<!-- |
| + | -->|<!-- |
| + | -->'''<nowiki>{{{1|}}}</nowiki>''' = {{{1|}}}<br /><!-- |
| + | -->'''<nowiki>{{#expr: {{{1|}}}/1 round 0 }}</nowiki>''' = {{#expr: {{{1|}}}/1 round 0 }}<br /><!-- |
| + | -->'''<nowiki>{{#var:PreisRoh}}</nowiki>''' = {{#var:PreisRoh}}<br /><!-- |
| + | -->'''<nowiki>{{#var:PreisKurz}}</nowiki>''' = {{#var:PreisKurz}}<br /><!-- |
| + | -->|}}<!-- ENDE |
| + | --></includeonly> |