Wie kann ich die Basis für Math.log () in JavaScript angeben?


Answers

Einfach, ändern Sie einfach die Basis, indem Sie durch das Protokoll (10) teilen. Es gibt sogar eine Konstante, die dir hilft

Math.log(num) / Math.LN10;

Das ist das gleiche wie:

Math.log(num) / Math.log(10);
Question

Ich brauche eine log Funktion für JavaScript, aber es muss Basis 10 sein. Ich kann keine Auflistung für diese sehen, also nehme ich an, dass es nicht möglich ist. Gibt es Mathe-Assistenten, die eine Lösung dafür wissen?




Wenn Sie eine Zahl x haben, dann wäre die Verwendung von Math.log(x) im Wesentlichen lnx.

Um es in eine andere Basis als e zu konvertieren, können Sie die folgende Funktion verwenden:

function(x){ return Math.log(x)/Math.log(10); }



Math.logBase = function(n, base) {
    return Math.log(n) / Math.log(base);
};



Die Antwort hier würde ein offensichtliches Genauigkeitsproblem verursachen und ist in einigen Anwendungsfällen nicht zuverlässig

> Math.log(10)/Math.LN10
1

> Math.log(100)/Math.LN10
2

> Math.log(1000)/Math.LN10
2.9999999999999996

> Math.log(10000)/Math.LN10
4





Links