Rechnet exakt mit Zahlen, umgeht die Genauigkeitsprobleme der Gleitkommazahlen von JavaScript und lässt sich verketten.
Argument
Beschreibung
Typ
ComputeNumberResult
Objekt mit dem Rechenergebnis
{ result: number, next: Function }
Parameter
Beschreibung
Typ
Standard
a
Erste Zahl
number
Erforderlich
type
Rechenart (+, -, *, /)
string
Erforderlich
b
Zweite Zahl
number
Erforderlich
Eigenschaft
Beschreibung
Typ
result
Das Rechenergebnis
number
next
Funktion, um weiterzurechnen
Function
import { mathjs } from 'ranuts' ;
const result = mathjs ( 0.1 , '+' , 0.2 );
console. log (result.result); // 0.3 (exakt, nicht 0.30000000000000004)
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
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
import { mathjs } from 'ranuts' ;
const total = mathjs ( 100 , '*' , 0.1 ). next ( '+' , 50 ). next ( '-' , 20 ). next ( '/' , 2 );
console. log (total.result); // Das exakte Ergebnis
Genauigkeit : kümmert sich von allein um die Gleitkomma-Probleme und umgeht den Klassiker 0.1 + 0.2 !== 0.3.
Verkettung : Mit der Methode next lassen sich Rechnungen aneinanderhängen.
Rechenarten : die vier Grundrechenarten + (plus), - (minus), * (mal) und / (geteilt).
Tempo : etwas langsamer als die nativen Operationen, dafür genau.