Math
Die Klasse Math stellt eine Sammlung mathematischer Funktionen und Konstanten bereit. Sie enthält ausschließlich statische Methoden und Felder, weshalb kein Objekt erstellt werden muss.
Mit Math lassen sich unter anderem:
-
Zahlen runden
-
Beträge berechnen
-
Potenzen und Wurzeln bestimmen
-
Minimal- und Maximalwerte ermitteln
-
trigonometrische Funktionen verwenden
-
mathematische Konstanten wie π oder e nutzen
Die Klasse gehört zum Namespace System und steht in PowerShell standardmäßig zur Verfügung.
Grundlagen
| Eigenschaft | Wert |
|---|---|
| Namespace | System |
| Assembly | System.Runtime |
| Instanziierbar | ❌ Nein |
| Statisch | ✅ Ja |
| Vererbt von | Object |
Klasse verwenden
Da alle Mitglieder statisch sind, erfolgt der Aufruf direkt über den Klassennamen.
[Math]::Sqrt(25)
Ausgabe
5
Keine Instanziierung erforderlich
Im Gegensatz zu vielen anderen .NET-Klassen wird kein Objekt erzeugt.
Nicht erforderlich
New-Object Math
Stattdessen
[Math]::Pow(2,8)
Rückgabewerte
Die meisten Methoden geben einen numerischen Wert zurück.
Je nach Methode erfolgt die Rückgabe beispielsweise als:
| Datentyp | Beschreibung |
|---|---|
| Double | Gleitkommazahl |
| Int32 | Ganze Zahl |
| Decimal | Dezimalzahl (je nach Parameter) |
Konstanten
| Name | Typ | Beschreibung |
|---|---|---|
| PI | Double | Kreiszahl π |
| E | Double | Eulersche Zahl |
Beispiel
[Math]::PI
[Math]::E
Ausgabe
3,14159265358979
2,71828182845905
Methoden
Übersicht
| Methode | Beschreibung |
|---|---|
| Abs() | Berechnet den Betrag einer Zahl |
| Ceiling() | Rundet auf die nächstgrößere ganze Zahl |
| Clamp() | Begrenzt einen Wert auf einen Bereich |
| Floor() | Rundet auf die nächstkleinere ganze Zahl |
| Max() | Gibt den größeren Wert zurück |
| Min() | Gibt den kleineren Wert zurück |
| Pow() | Berechnet Potenzen |
| Round() | Rundet Zahlen |
| Sign() | Bestimmt das Vorzeichen |
| Sqrt() | Berechnet Quadratwurzeln |
| Truncate() | Entfernt Nachkommastellen |
Quadratwurzel
Quadratwurzel
[Math]::Sqrt(64)Ausgabe
8Potenz
Potenz
[Math]::Pow(5,3)Ausgabe
125Runden
Runden
[Math]::Round(3.14159,2)Ausgabe
3.14BetragAbs()
Betrag
[Math]::Abs(-15)
Ausgabe
15
GrößerenClamp()
Clamp
Die Methode Clamp() begrenzt einen Wert bestimmenauf einen angegebenen Minimal- und Maximalwert.
Liegt der Wert innerhalb des Bereichs, wird er unverändert zurückgegeben.
Syntax
[Math]::Clamp(<Wert>, <Minimum>, <Maximum>)
Parameter
Rückgabewert
Gleicher Datentyp wie die Eingabewerte.
Beispiel
[Math]::Clamp(120,0,100)
[Math]::Clamp(-5,0,100)
[Math]::Clamp(50,0,100)
Ausgabe
100
0
50
Ceiling()
Ceiling
Die Methode Ceiling() rundet eine Zahl immer auf die nächstgrößere ganze Zahl auf. Besitzt die Zahl bereits keinen Nachkommateil, bleibt sie unverändert.
[Math]::Ceiling(<Zahl>)
Rückgabewert
Double bzw. Decimal
Die aufgerundete ganze Zahl.
Beispiel
[Math]::Ceiling(4.2)
[Math]::Ceiling(-4.2)
Ausgabe
5
-4
Floor()
Floor()
Beschreibung
Die Methode Floor() rundet eine Zahl immer auf die nächstkleinere ganze Zahl ab.
Syntax
[Math]::Floor(<Zahl>)
Parameter
Rückgabewert
Double bzw. Decimal
Die abgerundete ganze Zahl.
Beispiel
[Math]::Floor(4.9)
[Math]::Floor(-4.2)
Ausgabe
4
-5
Min()
Min()
Beschreibung
Die Methode Min() gibt den kleineren von zwei Werten zurück.
Syntax
[Math]::Min(<Wert1>, <Wert2>)
Parameter
Rückgabewert
Gleicher Datentyp wie die Eingabewerte.
Beispiel
[Math]::Min(12,8)
Ausgabe
8
Max()
Größeren Wert bestimmen
[Math]::Max(15,42)
Ausgabe
42
Wert begrenzenPow()
Wert begrenzenPotenz
[Math]::Clamp(120,0,100)Pow(5,3)
Ausgabe
100125
Round()
Runden
[Math]::Round(3.14159,2)
Ausgabe
3.14
Sign()
Sign()
Beschreibung
Die Methode Sign() bestimmt das Vorzeichen einer Zahl.
Rückgabewert
Syntax
[Math]::Sign(<Zahl>)
Parameter
Rückgabewert
Int32
Beispiel
[Math]::Sign(-20)
[Math]::Sign(0)
[Math]::Sign(20)
Ausgabe
-1
0
1
Sqrt()
Quadratwurzel
[Math]::Sqrt(64)
Ausgabe
8
Truncate()
Truncate()
Beschreibung
Die Methode Truncate() entfernt den Nachkommateil einer Zahl, ohne zu runden.
Syntax
[Math]::Truncate(<Zahl>)
Parameter
Rückgabewert
Double bzw. Decimal
Die Zahl ohne Nachkommastellen.
Beispiel
[Math]::Truncate(4.9)
[Math]::Truncate(-4.9)
Ausgabe
4
-4
Weitere Details
Häufige Einsatzgebiete
Die Klasse Math wird häufig verwendet für:
-
mathematische Berechnungen
-
Koordinaten- und Geometrieberechnungen
-
Diagramme und Visualisierungen
-
Spieleentwicklung
-
Größen- und Positionsberechnungen
-
statistische Auswertungen
-
wissenschaftliche Berechnungen
Hinweise
-
Alle Methoden sind statisch.
-
Die Klasse kann nicht instanziiert werden.
-
Für viele Methoden existieren mehrere Überladungen, die unterschiedliche numerische Datentypen unterstützen (
Int32,Double,Decimalusw.). -
Die meisten Berechnungen arbeiten mit dem Datentyp
Double, wodurch Rundungsungenauigkeiten bei Gleitkommazahlen auftreten können.
Siehe auch
-
System.Random -
System.Convert -
System.Decimal -
System.Numerics