Search code examples
javascriptmathlogarithm

How can I specify the base for Math.log() in JavaScript?


I need a log function for JavaScript, but it needs to be base 10. I can't see any listing for this, so I'm assuming it's not possible. Are there any math wizards out there who know a solution for this?


Solution

  • "Change of Base" Formula / Identity

    The numerical value for logarithm to the base 10 can be calculated with the following identity.

    Logarithm for base 10


    Since Math.log(x) in JavaScript returns the natural logarithm of x (same as ln(x)), for base 10 you can divide by Math.log(10) (same as ln(10)):

    function log10(val) {
      return Math.log(val) / Math.LN10;
    }
    

    Math.LN10 is a built-in precomputed constant for Math.log(10), so this function is essentially identical to:

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