Diese Hilfeseite erläutert Parserfunktionen zum Umgang mit Zahlen.
Berechnungen – #expr
Funktion | Pflichtparameter | ||||
---|---|---|---|---|---|
#expr
|
Ausdruck | ||||
Mathematische Berechnung ausführen.
| |||||
Beispiele:
|
Es wird bei ungültigem Ausdruck eine Fehlermeldung angezeigt; eine Wartungskategorie ist zurzeit jedoch nicht definiert.[1]
Operator | Operation | Beispiel |
---|---|---|
Algebraische Operationen | ||
+ | Addition | {{#expr: 30 + 7 }} = 37 |
− | Subtraktion (oder Negation) | {{#expr: 30 - 7 }} = 23 |
* | Multiplikation | {{#expr: 30 * 7 }} = 210 |
/ oder div | Division | {{#expr: 30 / 7 }} = 4.2857142857143 |
^ | Potenz . Achtung: Beim zweifachen Potenzieren sollten Klammern angegeben werden. Die Potenzen werden von der Software linksassoziativ ausgeführt: 2 ^ 2 ^ 2 = (2 ^ 2) ^ 2. Mit der Beziehung kann man auch radizieren. | {{#expr: 2 ^ 8 }} = 256 |
sqrt | Quadratwurzel | {{#expr: sqrt 16 }} = 4 |
mod | Modulo, der Rest einer Division von Ganzzahlen. | {{#expr: 30.4 mod 7.2 }} = 2 |
fmod | Modulo, der Fließkommarest einer Division von Fließkommazahlen. Mit 1 als Divisor erhält man den Nachkommateil des Dividenden. |
{{#expr: 30.4 fmod 7.2 }} = 1.6 {{#expr: 3.1428 fmod 1 }} = 0.1428 |
exp | Exponentialfunktion ( ) | {{#expr: exp 5 }} = 148.41315910258 |
ln | Der natürliche Logarithmus einer Zahl. Zur Umrechnung in andere Logarithmen siehe Basisumrechnung. | {{#expr: ln exp 3 }} = 3 |
abs | Betragsfunktion | {{#expr: abs -1.2 }} = 1.2 {{#expr: abs 1.2 }} = 1.2 |
Runden | ||
round | Rundet die Zahl auf der linken Seite auf die Anzahl Nachkommastellen, die von der Zahl auf der rechten Seite angegeben wird (kaufmännische Rundung) | {{#expr: 30 / 7 round 7 }} = 4.2857143 |
trunc | Rundet eine Zahl in Richtung Null auf die nächste Ganzzahl, d. h. negative Zahlen werden aufgerundet und positive Zahlen werden abgerundet | {{#expr: trunc -1.2 }} = -1 {{#expr: trunc 1.2 }} = 1 |
floor | Abrunden auf die nächste Ganzzahl | {{#expr: floor -1.2 }} = -2 {{#expr: floor 1.2 }} = 1 |
ceil | Aufrunden auf die nächste Ganzzahl | {{#expr: ceil -1.2 }} = -1 {{#expr: ceil 1.2 }} = 2 |
Konstanten und trigonometrische Operatoren | ||
e | Die Eulersche Zahl e | {{#expr: e }} = 2.718281828459 |
pi | Die Kreiszahl | {{#expr: pi }} = 3.1415926535898 |
sin | Berechnet den Sinus einer Zahl in Bogenmaß | {{#expr: sin 3.14 }} = 0.0015926529164868 |
cos | Berechnet den Kosinus (engl. cosine) einer Zahl in Bogenmaß | {{#expr: cos pi }} = -1 |
tan | Berechnet den Tangens einer Zahl in Bogenmaß | {{#expr: tan 1 }} = 1.5574077246549 |
asin | Berechnet den Arkussinus | {{#expr: asin 0.5 }} = 0.5235987755983 |
acos | Berechnet den Arkuskosinus | {{#expr: acos 0 }} = 1.5707963267949 |
atan | Berechnet den Arkustangens | {{#expr: atan 1.4 }} = 0.95054684081208 |
Vergleichsoperatoren | ||
= | Gleichheit | {{#expr: 30 = 7 }} = 0 |
<> oder != | Ungleichheit | {{#expr: 30 <> 7 }} = 1 |
< | Kleiner als | {{#expr: 30 < 7 }} = 0 |
> | Größer als | {{#expr: 30 > 7 }} = 1 |
<= | Kleiner oder gleich | {{#expr: 30 <= 7 }} = 0 |
>= | Größer oder gleich | {{#expr: 30 >= 7 }} = 1 |
Logische Operatoren | ||
and | Logisches UND | {{#expr: 30 and 7 }} = 1 {{#expr: 30 and 0 }} = 0 |
or | Logisches ODER | {{#expr: 30 or 7 }} = 1 {{#expr: 30 or 0 }} = 1 |
not | Logisches NICHT | {{#expr: not 7 }} = 0 {{#expr: not 0 }} = 1 |
Syntax | ||
#.#e±# | Statt eines Kommas muss der Punkt zur Trennung der Nachkommastellen benutzt werden. Zahlengruppierungen (im deutschen meist der Punkt) sind nicht möglich. Zahlen können in der wissenschaftlichen Notation übergeben werden. Für positive Exponenten ist das Plus optional. | {{#expr: 0.7e4 }} = 7000 |
( ) | Gruppierung/Klammerung | {{#expr: (30 + 7) * 7 }} = 259 |
Hyperbolische, andere trigonometrische, Arkus- und Areafunktionen müssen mit Hilfe der entsprechenden Definitionen und Umrechnungen realisiert werden:
Funktion | Quelltext |
---|---|
Sinus Hyperbolicus (sinh) | {{#expr: ((exp {{{x}}} - exp (-1*{{{x}}}))/ 2)}}
|
Kosinus Hyperbolicus (cosh) | {{#expr: ((exp {{{x}}} + exp (-1*{{{x}}}))/ 2)}}
|
Tangens Hyperbolicus (cosh) | {{#expr: ((exp {{{x}}} - exp (-1*{{{x}}})) / (exp {{{x}}} + exp(-1*{{{x}}}))) }}
|
Kotangens Hyperbolicus (coth) | {{#expr: ((exp {{{x}}} + exp (-1*{{{x}}})) / (exp {{{x}}} - exp(-1*{{{x}}}))) }}
|
Sekans Hyperbolicus (sech) | {{#expr: (2 / (exp {{{x}}} + exp (-1*{{{x}}}))) }}
|
Kosekans Hyperbolicus (sech) | {{#expr: (2 / (exp {{{x}}} - exp (-1*{{{x}}}))) }}
|
Areasinus Hyperbolicus (arsinh) | {{#expr: ln ({{{x}}} + (({{{x}}})*({{{x}}}) - 1)^0.5) }}
|
Areakosinus Hyperbolicus (arcosh) | {{#expr: ln ({{{x}}} + (({{{x}}})*({{{x}}}) + 1)^0.5) }}
|
Areatangens Hyperbolicus (artanh) | {{#expr: ln ((1+ {{{x}}})/(1- {{{x}}})) / 2 }}
|
Areakotangens Hyperbolicus (arcoth) | {{#expr: ln (({{{x}}} +1)/({{{x}}} -1)) / 2 }}
|
Areasekans Hyperbolicus (arsech) | {{#expr: ln ((1 + (1 - ({{{x}}})* {{{x}}})^0.5)/ {{{x}}}) }}
|
Areakosekans Hyperbolicus (arcsch) | {{#expr: ln ((1 + (1 + ({{{x}}})* {{{x}}})^0.5)/ {{{x}}}) }}
|
Die booleschen Operatoren behandeln 0 (Null) als falsch und 1 als wahr. Zahlen werden mit dem Punkt als Dezimaltrenner angegeben.
Beispiel:
{{ #expr: (100 - 32) / 9 * 5 round 0 }}
ergibt:
38
Damit werden 100 Fahrenheit auf die Celsius-Skala umgerechnet (auf die nächste ganze Zahl gerundet).
Da diese Berechnungen aus Kompatibilitätsgründen mit dem englischen Zahlenformat durchgeführt werden (Beispiel: {{#expr: 13000 / 3.1 round 2}}
ergibt 4193.55) müssen solche Zahlen zusätzlich in das lokale Format umgewandelt werden (Beispiel: {{
formatnum:{{#expr: 13000 / 3.1 round 2}}}}
ergibt 4.193,55. Zu anderen lokalen Formaten siehe Vorlage:FormatZahl).
Arithmetische Ausdrücke können auf Spezial:Vorlagen expandieren getestet werden.
Eine Fehlersituation kann mittels der Parserfunktion #iferror
abgefangen werden; der Ausdruck auch zur Steuerung genutzt werden mit #ifexpr
.
Zahl formatieren – formatnum
Funktion | Lokalisierung | Pflichtparameter | Parameter | ||
---|---|---|---|---|---|
formatnum
|
zahlenformat
|
Zahl | Format | ||
Zahl formatieren in der lokal üblichen Form, in einem deutschsprachigen Wiki also mit Punkt als Tausendertrennzeichen bei mehr als drei Stellen und Komma als Dezimaltrennzeichen. Negative Werte erhalten ein typografisches Minuszeichen.
| |||||
Beispiele:
|
Eine Wartungskategorie für Seiten mit ungültiger Zahl kann über MediaWiki:Nonnumeric-formatnum definiert werden.
Anmerkungen
Bearbeiten- ↑ Phabricator – Bug/Feature: 25959 – Es wird ein Problem darin gesehen, dass auch bei
#iferror
eine Wartungskategorie ausgelöst wird, obwohl bereits eine Fehlerbehandlung erfolgt.