Kir*_*ira 1 javascript math logarithm
我在 JavaScript 中使用 Math.log 函数计算对数时发现了一个错误。例如,考虑一个数字(比如 0.1), actual log value of 0.1 to the base 10 is -1。
但是当我Math.log在 javascript 中使用函数时,它返回-2.302585. 显然,这是错误的,那么,我应该编写自己的函数来计算对数,还是 JavaScript 中是否有其他方法可以手动计算对数?
小智 5
来自https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log:
Math.log() 函数返回数字的自然对数(以e为底)。
也许您想要Math.log10,请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log10,但 IE 不支持。
基础数学表示,您可以通过除以 2.303 将自然对数转换为以 10 为底的对数。这个常数被定义为Math.LN10,所以:
function log(x) {
return Math.log(x) / Math.LN10;
}
Run Code Online (Sandbox Code Playgroud)
或更一般地说:
function log(x, base) {
return Math.log(x) / Math.log(base);
}
Run Code Online (Sandbox Code Playgroud)