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 wiz
Math.log10(x)!
the answer here would cause obvious precision problem and is not reliable in some use cases
> 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
const logBase = (n, base) => Math.log(n) / Math.log(base);
https://en.wikipedia.org/wiki/Logarithm#Change_of_base
"Change of Base" Formula / Identity
The numerical value for logarithm to the base 10 can be calculated with the following identity.
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);
}