Auf dieser Seite
ranutsmathjs

mathjs

Rechnet exakt mit Zahlen, umgeht die Genauigkeitsprobleme der Gleitkommazahlen von JavaScript und lässt sich verketten.

API

mathjs

Rückgabe

Argument Beschreibung Typ
ComputeNumberResult Objekt mit dem Rechenergebnis { result: number, next: Function }

Parameter

Parameter Beschreibung Typ Standard
a Erste Zahl number Erforderlich
type Rechenart (+, -, *, /) string Erforderlich
b Zweite Zahl number Erforderlich

ComputeNumberResult

Eigenschaft Beschreibung Typ
result Das Rechenergebnis number
next Funktion, um weiterzurechnen Function

Beispiel

Grundlegende Verwendung

import { mathjs } from 'ranuts';

const result = mathjs(0.1, '+', 0.2);
console.log(result.result); // 0.3 (exakt, nicht 0.30000000000000004)

Verkettung

import { mathjs } from 'ranuts';

const result = mathjs(1.3, '-', 1.2).next('+', 1.5).next('*', 2.3).next('/', 0.2);
console.log(result.result); // Das exakte Ergebnis

Genauigkeitsprobleme umgehen

import { mathjs } from 'ranuts';

// Die native Rechnung in JavaScript verliert Genauigkeit
console.log(0.1 + 0.2); // 0.30000000000000004

// Mit mathjs stimmt das Ergebnis
const result = mathjs(0.1, '+', 0.2);
console.log(result.result); // 0.3

Eine längere Rechnung

import { mathjs } from 'ranuts';

const total = mathjs(100, '*', 0.1).next('+', 50).next('-', 20).next('/', 2);
console.log(total.result); // Das exakte Ergebnis

Hinweise

  1. Genauigkeit: kümmert sich von allein um die Gleitkomma-Probleme und umgeht den Klassiker 0.1 + 0.2 !== 0.3.
  2. Verkettung: Mit der Methode next lassen sich Rechnungen aneinanderhängen.
  3. Rechenarten: die vier Grundrechenarten + (plus), - (minus), * (mal) und / (geteilt).
  4. Tempo: etwas langsamer als die nativen Operationen, dafür genau.