Hilfe:Parserfunktionen/Zahlen

Diese Hilfeseite erläutert Parserfunktionen zum Umgang mit Zahlen.

Berechnungen – #expr

FunktionPflichtparameter
#exprAusdruck
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
OperatorOperationBeispiel
Algebraische Operationen
+Addition{{#expr: 30 + 7 }} = 37
Subtraktion (oder Negation){{#expr: 30 - 7 }} = 23
*Multiplikation{{#expr: 30 * 7 }} = 210
/ oder divDivision{{#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
sqrtQuadratwurzel{{#expr: sqrt 16 }} = 4
modModulo, der Rest einer Division von Ganzzahlen.{{#expr: 30.4 mod 7.2 }} = 2
fmodModulo, 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

expExponentialfunktion (){{#expr: exp 5 }} = 148.41315910258
lnDer natürliche Logarithmus einer Zahl. Zur Umrechnung in andere Logarithmen siehe Basisumrechnung.{{#expr: ln exp 3 }} = 3
absBetragsfunktion{{#expr: abs -1.2 }} = 1.2
{{#expr: abs 1.2 }} = 1.2
Runden
roundRundet 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
truncRundet 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
floorAbrunden auf die nächste Ganzzahl{{#expr: floor -1.2 }} = -2
{{#expr: floor 1.2 }} = 1
ceilAufrunden auf die nächste Ganzzahl{{#expr: ceil -1.2 }} = -1
{{#expr: ceil 1.2 }} = 2
Konstanten und trigonometrische Operatoren
eDie Eulersche Zahl e{{#expr: e }} = 2.718281828459
piDie Kreiszahl {{#expr: pi }} = 3.1415926535898
sinBerechnet den Sinus einer Zahl in Bogenmaß{{#expr: sin 3.14 }} = 0.0015926529164868
cosBerechnet den Kosinus (engl. cosine) einer Zahl in Bogenmaß{{#expr: cos pi }} = -1
tanBerechnet den Tangens einer Zahl in Bogenmaß{{#expr: tan 1 }} = 1.5574077246549
asinBerechnet den Arkussinus{{#expr: asin 0.5 }} = 0.5235987755983
acosBerechnet den Arkuskosinus{{#expr: acos 0 }} = 1.5707963267949
atanBerechnet 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
andLogisches UND{{#expr: 30 and 7 }} = 1
{{#expr: 30 and 0 }} = 0
orLogisches ODER{{#expr: 30 or 7 }} = 1
{{#expr: 30 or 0 }} = 1
notLogisches 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
FunktionQuelltext
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

FunktionLokalisierungPflichtparameterParameter
formatnumzahlenformatZahlFormat
Zahl formatieren in der lokal üblichen Form, in einem deutschsprachigen Wiki also mit Punkt als Tausendertrennzeichen 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:}}
  • {{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

  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.