Diese Hilfeseite erläutert Parserfunktionen zum Umgang mit Zahlen.

Berechnungen – #expr

Funktion Pflichtparameter
#expr Ausdruck
Mathematische Berechnung ausführen.
  • Ausdruck – mathematischer Ausdruck, siehe unten.
Beispiele:
  • {{#expr:2+3}}5
  • {{#expr:pi}}3.1415926535898

Es wird bei ungültigem Ausdruck eine Fehlermeldung angezeigt; eine Wartungskategorie ist zurzeit jedoch nicht definiert.[1]

Mögliche Operationen
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:

Quelltext für Hyperbel- und Areafunktionen
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.
  • Zahl – Zahlenwert in englischer (Computer-)Formatierung (sofern nicht R).
  • Format – Schlüsselwort
    • R – roh (raw) ohne Tausendertrennzeichen und mit Dezimalpunkt; Ergebnis besser geeignet für Berechnungen; setzt deutschsprachige Zahl voraus.
    • NOSEP – ohne Tausendertrennzeichen und mit Dezimalkomma.
Beispiele:
  • {{formatnum:123456.78}}123.456,78
  • {{formatnum:1234}}1.234
  • {{formatnum:}}
  • {{formatnum:123456,78|R}}123456.78
  • {{formatnum:12345678|R}}12345678
  • {{formatnum:−87,65|R}}-87.65 (−87,65; Parameter mit Minuszeichen, Ergebnis -87.65 mit ASCII-Zeichen und damit kompatibel zu Berechnungen)
  • {{formatnum:-987654.321|NOSEP}}−987654.321 (−987654.321; Ergebnis mit Minuszeichen und damit inkompatibel zu Berechnungen)
  • {{formatnum:-0}}−0

Eine Wartungskategorie für Seiten mit ungültiger Zahl kann über MediaWiki:Nonnumeric-formatnum definiert werden.

Anmerkungen

Bearbeiten
  1. Phabricator – Bug/Feature: 25959 – Es wird ein Problem darin gesehen, dass auch bei #iferror eine Wartungskategorie ausgelöst wird, obwohl bereits eine Fehlerbehandlung erfolgt.