Änderungen

Zur Navigation springen Zur Suche springen
1.314 Bytes hinzugefügt ,  09:19, 11. Jun. 2014
K
Bugfix Layout
Zeile 1: Zeile 1:  
<noinclude>
 
<noinclude>
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]].
+
Dies ist die Vorlage „PreisLang“. Sie wandelt eine Zahl in einen Preis um, dem die passende Währungseinheit (Telar, Lunar, Solar) angehangen wird. Beispiel:
 +
37 &rarr; {{PreisLang| 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 Währungskürzeln (T, L, S) siehe: [[:Vorlage:PreisKurz]].
    
Sie sollte im folgenden Format genutzt werden:
 
Sie sollte im folgenden Format genutzt werden:
Zeile 6: Zeile 14:  
{{PreisLang|<Wert>|<Nachkommastellen>}}
 
{{PreisLang|<Wert>|<Nachkommastellen>}}
 
</pre>
 
</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.or: Runden]). Wird der zweite Parameter nicht angegeben, wird auch nicht gerundet (es entstehen dann mitunter einige 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: [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==
 
==Beispiele==
Zeile 12: Zeile 20:  
! Eingangswert !! Ergebnis !! Kommentar
 
! Eingangswert !! Ergebnis !! Kommentar
 
|-
 
|-
| <nowiki>{{PreisLang| 37 }}</nowiki> || {{PreisLang| 37 }} | 37 Telare rein  
+
| <nowiki>{{PreisLang| 37 }}</nowiki> || {{PreisLang| 37 }} || 37 Telare rein  
 
&rarr; 37 Telare raus
 
&rarr; 37 Telare raus
 
|-
 
|-
| <nowiki>{{PreisLang| 37 | 1 }}</nowiki> || {{PreisLang| 37 | 1 }} | 37 Telare auf eine Nachkommastelle runden
+
| <nowiki>{{PreisLang| 37 | 1 }}</nowiki> || {{PreisLang| 37 | 1 }} || 37 Telare auf eine Nachkommastelle runden
 
&rarr; dasselbe Ergebnis (es entsteht ja kein Bruch)
 
&rarr; dasselbe Ergebnis (es entsteht ja kein Bruch)
 
|-
 
|-
| <nowiki>{{PreisLang| 37 | -1 }}</nowiki> || {{PreisLang| 37 | -1 }} | 37 Telare auf ganze 10er runden (-1)
+
| <nowiki>{{PreisLang| 37 | -1 }}</nowiki> || {{PreisLang| 37 | -1 }} || 37 Telare auf ganze 10er runden (-1)
 
&rarr; Jetzt ist es etwas mehr geworden
 
&rarr; Jetzt ist es etwas mehr geworden
 
|-
 
|-
| <nowiki>{{PreisLang| 127 | 0}}</nowiki> || {{PreisLang| 127 | 0}} | 127 Telare rein, auf ganze Zahl runden (0)
+
| <nowiki>{{PreisLang| 127 | 0}}</nowiki> || {{PreisLang| 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
 
&rarr; Ab 100 Telaren wird in Lunare gewandelt - und die werden hier auf eine ganze Zahl gerundet
 
|-
 
|-
| <nowiki>{{PreisLang| 127 | 1}}</nowiki> || {{PreisLang| 127 | 1}} | 127 Telare rein, auf eine Nachkommastelle runden (1)
+
| <nowiki>{{PreisLang| 127 | 1}}</nowiki> || {{PreisLang| 127 | 1}} || 127 Telare rein, auf eine Nachkommastelle runden (1)
 
&rarr; Es werden wieder Lunare erzeugt, diesmal aber mit einer Zahl hinter dem Komma
 
&rarr; Es werden wieder Lunare erzeugt, diesmal aber mit einer Zahl hinter dem Komma
 
|-
 
|-
| <nowiki>{{PreisLang| 127 }}</nowiki> || {{PreisLang| 127 }} | 127 Telare rein, nicht runden
+
| <nowiki>{{PreisLang| 127 }}</nowiki> || {{PreisLang| 127 }} || 127 Telare rein, nicht runden
 
&rarr; Es werden wieder Lunare mit allen Nachkommastellen erzeugt
 
&rarr; Es werden wieder Lunare mit allen Nachkommastellen erzeugt
 
|-
 
|-
| <nowiki>{{PreisLang| 1307 | 1}}</nowiki> || {{PreisLang| 1307 | 1}} | 1.307 Telare rein, auf eine Nachkommastelle runden (1)
+
| <nowiki>{{PreisLang| 1307 | 1}}</nowiki> || {{PreisLang| 1307 | 1}} || 1.307 Telare rein, auf eine Nachkommastelle runden (1)
 
&rarr; Lunare mit einer gerundeten Zahl hinter dem Komma
 
&rarr; Lunare mit einer gerundeten Zahl hinter dem Komma
 
|-
 
|-
| <nowiki>{{PreisLang| 14007 | 0 }}</nowiki> || {{PreisLang| 14007 | 0 }} | 14.007 Telare rein, auf ganze Zahl runden (0)
+
| <nowiki>{{PreisLang| 14007 | 0 }}</nowiki> || {{PreisLang| 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.
 
&rarr; Diesmal enstehen Solare, da die Summe fünfstellig ist. Und ohne Nachkommastelle wird hier einiges weggerundet.
 
|-
 
|-
| <nowiki>{{PreisLang| 150077 | 2 }}</nowiki> || {{PreisLang| 150077 | 2 }} | 150.007 Telare rein, zwei Nachkommastellen (2)
+
| <nowiki>{{PreisLang| 150077 | 2 }}</nowiki> || {{PreisLang| 150077 | 2 }} || 150.007 Telare rein, zwei Nachkommastellen (2)
 
&rarr; Wieder enstehen Solare, und dank der beiden Nachkommastellen ist noch ein Lunar dabei.
 
&rarr; Wieder enstehen Solare, und dank der beiden Nachkommastellen ist noch ein Lunar dabei.
 +
|-
 +
| <nowiki>{{PreisLang| 150077 }}</nowiki> || {{PreisLang| 150077 }} || 150.007 Telare rein, keine Angabe zu Nachkommastellen
 +
&rarr; Solare mit vielen Nachkommastellen.
 
|}
 
|}
    
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: 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 }} }}<!--
+
 
  -->{{#ifexpr: {{#var:PreisRoh}} < 100
+
--> {{#vardefine: PreisRoh | {{#expr: {{{1|}}}/1 round 0 }} }}<!--
      | {{#vardefine: PreisLang |{{#expr: {{#var:PreisRoh}}/1 {{#if:{{{2|}}}|round {{{2}}}|}} }} <!--
+
 
          -->xxx<!--
+
--><!-- Ab hier wird die Währungseinheit ermittelt (<100 = Telar, <10000 = Lunar, sonst Solar)
          -->}}
+
 
       | {{#ifexpr: {{#var:PreisRoh}} < 10000
+
--> {{#ifexpr: {{#var:PreisRoh}} < 100<!--
          | {{#vardefine: PreisLang |{{#expr: {{#var:PreisRoh}}/100 {{#if:{{{2|}}}|round {{{2}}}|}} }} <!--
+
-->    | {{#vardefine: PreisLang<!--
          -->xxx<!--
+
-->        |{{#expr: {{#var:PreisRoh}}/1 {{#if:{{{2|}}}|round {{{2}}}|}} }}<!--
          -->}}
+
-->       }}<!--
          | {{#vardefine: PreisLang |{{#expr: {{#var:PreisRoh}}/10000 {{#if:{{{2|}}}|round {{{2}}}|}} }} <!--
+
-->     {{#ifexpr: {{#var:PreisLang}} = 1<!--
          -->xxx<!--
+
-->       |{{#vardefine: Einheit |Telar}}<!--
          -->}}
+
-->        |{{#vardefine: Einheit |Telare}}<!--
          }}
+
-->        }}<!--
      }}
+
 
   }}<!-- Das Ergebnis zurückgeben:
+
-->    | {{#ifexpr: {{#var:PreisRoh}} < 10000<!--
-->{{zahlenformat:{{#var:PreisLang}}}}<!--  
+
-->      | {{#vardefine: PreisLang<!--
DEGUB-->
+
-->          |{{#expr: {{#var:PreisRoh}}/100 {{#if:{{{2|}}}|round {{{2}}}|}} }}<!--
{{#ifeq: debug | {{lc:{{{3|}}}}}
+
-->         }}<!--
  |
+
-->       {{#ifexpr: {{#var:PreisLang}} = 1<!--
  '''<nowiki>{{{1|}}}</nowiki>''' = {{{1|}}}<br />
+
-->          |{{#vardefine: Einheit |Lunar}}<!--
  '''<nowiki>{{#expr: {{{1|}}}/1 round 0 }}</nowiki>''' = {{#expr: {{{1|}}}/1 round 0 }}<br />
+
-->          |{{#vardefine: Einheit |Lunare}}<!--
  '''<nowiki>{{#var:PreisRoh}}</nowiki>''' = {{#var:PreisRoh}}<br />
+
-->          }}<!--
  '''<nowiki>{{#var:PreisLang}}</nowiki>''' = {{#var:PreisLang}}<br />
+
 
|}}<!-- ENDE  
+
-->      | {{#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}}<!--  
 +
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:PreisLang}}</nowiki>''' = {{#var:PreisLang}}<br /><!--
 +
-->|}}<!-- ENDE  
 
--></includeonly>
 
--></includeonly>

Navigationsmenü