Vorlage:PreisKurz: Unterschied zwischen den Versionen

Aus Splitterwiki
Zur Navigation springen Zur Suche springen
K (Bugfix Layout)
 
(26 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
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 &rarr; {{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
 +
&rarr; 37 Telare raus
 +
|-
 +
| <nowiki>{{PreisKurz| 37 | 1 }}</nowiki> || {{PreisKurz| 37 | 1 }} || 37 Telare auf eine Nachkommastelle runden
 +
&rarr; dasselbe Ergebnis (es entsteht ja kein Bruch)
 +
|-
 +
| <nowiki>{{PreisKurz| 37 | -1 }}</nowiki> || {{PreisKurz| 37 | -1 }} || 37 Telare auf ganze 10er runden (-1)
 +
&rarr; Jetzt ist es etwas mehr geworden
 +
|-
 +
| <nowiki>{{PreisKurz| 127 | 0}}</nowiki> || {{PreisKurz| 127 | 0}} || 127 Telare rein, auf ganze Zahl runden (0)
 +
&rarr; 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)
 +
&rarr; Es werden wieder Lunare erzeugt, diesmal aber mit einer Zahl hinter dem Komma
 
|-
 
|-
| 10 || {{PreisKurz|10|asdf}}
+
| <nowiki>{{PreisKurz| 127 }}</nowiki> || {{PreisKurz| 127 }} || 127 Telare rein, nicht runden
 +
&rarr; 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)
 +
&rarr; 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)
 +
&rarr; 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)
 +
&rarr; 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
 +
&rarr; 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 }}<!--
  |{{#vardefine: PreisKurz |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}}<--  
+
-->  {{#ifexpr: {{#var:PreisRoh}} < 100<!--
DEGUB-->
+
-->    | {{#vardefine: PreisKurz<!--
{{#ifeq: {{{2|}}} | debug
+
-->       |{{#expr: {{#var:PreisRoh}}/1 {{#if:{{{2|}}}|round {{{2}}}|}} }}<!--
|'''<nowiki>{{{1|}}}</nowiki>''' = {{{1|}}}<br />
+
-->        }}<!--
'''<nowiki>{{#expr: {{{1|}}}/1 round 0 }}</nowiki>''' = {{#expr: {{{1|}}}/1 round 0 }}<br />
+
-->      {{#vardefine: Einheit |T}}<!--
'''<nowiki>{{#var:PreisRoh}}</nowiki>''' = {{#var:PreisRoh}}<br />
+
 
'''<nowiki>{{#var:PreisKurz}}</nowiki>''' = {{#var:PreisKurz}}<br />
+
-->    | {{#ifexpr: {{#var:PreisRoh}} < 10000<!--
|}}<!-- ENDE  
+
-->      | {{#vardefine: PreisKurz<!--
 +
-->          |{{#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>
 
--></includeonly>

Aktuelle Version vom 11. Juni 2014, 08:27 Uhr

Dies ist die Vorlage „PreisKurz“. Sie wandelt eine Zahl in einen Preis um, dem die passende Währungseinheit (T/L/S) angehangen wird. Beispiel:

37 → 37 T

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:

{{PreisKurz|<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.org: Runden). Wird der zweite Parameter nicht angegeben, wird auch nicht gerundet (es entstehen dann mitunter einige Nachkommastellen).

Beispiele

Eingangswert Ergebnis Kommentar
{{PreisKurz| 37 }} 37 T 37 Telare rein

→ 37 Telare raus

{{PreisKurz| 37 | 1 }} 37 T 37 Telare auf eine Nachkommastelle runden

→ dasselbe Ergebnis (es entsteht ja kein Bruch)

{{PreisKurz| 37 | -1 }} 40 T 37 Telare auf ganze 10er runden (-1)

→ Jetzt ist es etwas mehr geworden

{{PreisKurz| 127 | 0}} 1 L 127 Telare rein, auf ganze Zahl runden (0)

→ Ab 100 Telaren wird in Lunare gewandelt - und die werden hier auf eine ganze Zahl gerundet

{{PreisKurz| 127 | 1}} 1,3 L 127 Telare rein, auf eine Nachkommastelle runden (1)

→ Es werden wieder Lunare erzeugt, diesmal aber mit einer Zahl hinter dem Komma

{{PreisKurz| 127 }} 1,27 L 127 Telare rein, nicht runden

→ Es werden wieder Lunare mit allen Nachkommastellen erzeugt

{{PreisKurz| 1307 | 1}} 13,1 L 1.307 Telare rein, auf eine Nachkommastelle runden (1)

→ Lunare mit einer gerundeten Zahl hinter dem Komma

{{PreisKurz| 14007 | 0 }} 1 S 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.

{{PreisKurz| 150077 | 2 }} 15,01 S 150.007 Telare rein, zwei Nachkommastellen (2)

→ Wieder enstehen Solare, und dank der beiden Nachkommastellen ist noch ein Lunar dabei.

{{PreisKurz| 150077 }} 15,0077 S 150.007 Telare rein, keine Angabe zu Nachkommastellen

→ Solare mit vielen Nachkommastellen.

Klicke auf „Bearbeiten“, um den Vorlagentext anzusehen.