new math\fraction() - Object
$integer numerator = 0 |
Zähler des Bruchs |
$integer denominator = 1 |
Nenner des Bruchs (wird automatisch auf > 0 normalisiert; darf nicht 0 sein) |
__construct ([$integer $num = 0[, $integer $denom = 1]])
$num |
optional; Zähler als ganze Zahl; default ist 0 |
$denom |
optional; Nenner als ganze Zahl (darf nicht 0 sein); default ist 1 |
erstellt eine neue Bruch-Instanz; normalisiert negative Nenner automatisch in den Zähler und fängt eine Division durch 0 mit Fallback auf 1 ab
$frac = new math\fraction(3 , 4 ) ; // 3/4
$neg = new math\fraction(1 , -2 ) ; // -1/2 (Vorzeichen wandert in den Zähler)
__toString ()
gibt den Bruch als lesbare Zeichenkette in der Form
'Zähler/Nenner' zurück
$frac = new math\fraction(5 , 8 ) ;
echo $frac ; // Ausgabe: 5/8
num ([$integer $scale = 10])
$scale |
optional; Genauigkeit bzw. Anzahl der Nachkommastellen; default ist 10 |
berechnet den Fließkommawert des Bruchs mit bcdiv() und gibt diesen als float zurück
$frac = new math\fraction(1 , 3 ) ;
$frac->num(4 ) ; // 0.3333
ggT ()
ermittelt den größten gemeinsamen Teiler (ggT) von Zähler und Nenner über math::ggT() und gibt diesen als integer zurück; im Fehlerfall null
$frac = new math\fraction(12 , 18 ) ;
$frac->ggT() ; // 6
kurzen ()
kürzt den aktuellen Bruch vollständig mit dem ggT; modifiziert die Instanz direkt und gibt $this zur Methodenverkettung zurück
$frac = new math\fraction(12 , 18 ) ;
$frac->kurzen() ;
echo $frac ; // Ausgabe: 2/3
gekuerzt ()
gibt eine gekürzte Kopie des Bruchs zurück, ohne das Original-Objekt zu verändern
$frac = new math\fraction(4 , 8 ) ;
$clone = $frac->gekuerzt() ; // 1/2 (Original bleibt 4/8)
kehrwert ()
berechnet den Kehrwert des Bruchs durch Vertauschen von Zähler und Nenner; gibt eine neue Instanz von new math\fraction() zurück, oder null wenn der Zähler 0 ist
$frac = new math\fraction(2 , 5 ) ;
$inv = $frac->kehrwert() ; // 5/2
Grundrechenarten (Fluent Interface)
plus ($object $frac)
$frac |
Bruch-Objekt (), das addiert werden soll |
addiert einen weiteren Bruch zur aktuellen Instanz und gibt das Ergebnis als neues new math\fraction() Objekt zurück; im Fehlerfall null
$a = new math\fraction(1 , 4 ) ;
$b = new math\fraction(1 , 2 ) ;
$res = $a->plus($b) ; // 6/8
$res->kurzen(); // 3/4
minus ($object $frac)
$frac |
Bruch-Objekt (), das subtrahiert werden soll |
subtrahiert einen Bruch von der aktuellen Instanz und gibt das Ergebnis als neues new math\fraction() Objekt zurück; im Fehlerfall null
$a = new math\fraction(3 , 4 ) ;
$b = new math\fraction(1 , 4 ) ;
$res = $a->minus($b) ; // 2/4
multiply ($object $frac)
$frac |
Bruch-Objekt (), mit dem multipliziert werden soll |
multipliziert die aktuelle Instanz mit einem weiteren Bruch und gibt das Ergebnis als neues new math\fraction() Objekt zurück; im Fehlerfall null
$a = new math\fraction(2 , 3 ) ;
$b = new math\fraction(3 , 5 ) ;
$res = $a->multiply($b) ; // 6/15
divide ($object $frac)
$frac |
Bruch-Objekt (), durch das dividiert werden soll |
dividiert die aktuelle Instanz durch einen weiteren Bruch (Multiplikation mit dem Kehrwert) und gibt das Ergebnis als neues new math\fraction() Objekt zurück; im Fehlerfall oder bei Division durch 0 wird null zurückgegeben
$a = new math\fraction(1 , 2 ) ;
$b = new math\fraction(3 , 4 ) ;
$res = $a->divide($b) ; // 4/6
Darstellung
toMathML ()
gibt die MathML-Repräsentation des Bruchs als string zurück
$frac = new math\fraction(1 , 2 ) ;
echo $frac->toMathML() ;