Bruch

open class Bruch(val zaehler: BigInteger, val nenner: BigInteger) : AbstractNumber, KFachwert

Die Bruch-Klasse repraesentiert eine mathematischen Bruch mit Zaehler und Nenner. Als Zaehler und Nenner werden dabei nur ganzzahlige Werte akzeptiert, da sich Gleitkommazahlen auch immer als Brueche darstellen lassen.

Die Namen der Methoden orientieren sich teilweise an den Methodennamen von BigInteger und BigDecimal und sind daher auf englisch. Andere Namen wie .kuerzen sind dagegen auf deutsch.

Author

ob@aosd.de

Since

0.6

Constructors

Link copied to clipboard
constructor(bruch: String)

Legt einen Bruch mit dem angegeben Zaehler und Nenner an. Brueche koennen dabei mit Bruchstrich ("1/2") oder als Dezimalzahl ("0.5") angegeben werden.

constructor(number: Double)

Legt die uebergebene Gleitkommazahl als Bruch an.

constructor(decimal: BigDecimal)

Legt die uebergebene Dezimalzahl als Bruch an.

constructor(zaehler: Long, nenner: Long)

Legt einen Bruch mit dem angegeben Zaehler und Nenner an.

constructor(zaehler: BigInteger, nenner: BigInteger)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
fun add(operand: Bruch): AbstractNumber

Addition zweier Brueche.

Link copied to clipboard
open operator override fun compareTo(other: AbstractNumber): Int

Vergleicht eine andere Zahl mit dem aktuellen Bruch.

operator fun compareTo(other: Bruch): Int

Vergleicht den anderen Bruch mit dem aktuellen Bruch.

Link copied to clipboard
fun divide(operand: Bruch): AbstractNumber

Die Division zweier Brueche laesst sich bekanntlich auf die Multiplikation des Bruches mit dem Kehrwert zurueckfuehren. Dies wird hier fuer die Division ausgenutzt.

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean

Fuer die equals-Implementierung gilt, dass der Wert verglichen wird. D.h. bei "1/2" und "2/4" handelt es sich um die gleichen Brueche.

Link copied to clipboard
open override fun hashCode(): Int

Eine einfache Hashcode-Implementierung, die sich auf toString() abstuetzt.

Link copied to clipboard
open override fun isValid(): Boolean
Link copied to clipboard

Liefert den (ungekuerzten) Kehrwert des Bruches.

Link copied to clipboard
fun kuerzen(): Bruch

Liefert einen gekuerzten Bruch zurueck. So wird z.B. der Bruch "2/4" als "1/2" zurueckgegeben.

Link copied to clipboard

Multiplikation zweier Brueche.

Link copied to clipboard
fun negate(): Bruch

Liefert einen (ungekuerzten) negierten Kehrwert zurueck.

Link copied to clipboard

Subtraktion zweier Brueche.

Link copied to clipboard
open override fun toBigDecimal(): BigDecimal

Liefert den Bruch als BigDecimal zurueck.

Link copied to clipboard
open override fun toByte(): Byte

Liefert die Zahl als ein Byte zurueck.

Link copied to clipboard
open override fun toChar(): Char

Liefert die Zahl als ein Char zurueck.

Link copied to clipboard
open override fun toDouble(): Double

Liefert die Zahl als ein double zurueck.

Link copied to clipboard
open override fun toFloat(): Float

Liefert die Zahl als ein float zurueck.

Link copied to clipboard
open override fun toInt(): Int

Liefert die Zahl als ein int (gerundet) zurueck.

Link copied to clipboard
open override fun toLong(): Long

Liefert die Zahl als ein long (gerundet) zurueck.

Link copied to clipboard
open override fun toMap(): Map<String, Any>
Link copied to clipboard
open override fun toShort(): Short

Liefert die Zahl als ein Short zurueck.

Link copied to clipboard
open override fun toString(): String