gpt4 book ai didi

math - 如何在 javascript 中近似计算 float 的平方根

转载 作者:行者123 更新时间:2023-12-05 01:48:15 24 4
gpt4 key购买 nike

我想近似计算此函数的平方根。 Math.sqrt( float );结果应该是另一个 float ,该点后的小数位最大为 6 或 7。使用标准 Math.sqrt(float) 我得到一个非常大的数字,比如 0.343423409554534598959,这对我来说太多了。

最佳答案

如果你只想得到一个更小、更易于管理的数字,你可以使用toFixed方法:

var x = 0.343423409554534598959;
console.log( x.toFixed(3) )
// outputs 0.343

如果您无法忍受计算整个平方根并丢掉精度数字的想法,您可以使用近似法。但是请注意,过早的优化是万恶之源;而 KISS 成语与此相反。

这是 Heron 的方法:

function sqrt(num) {
// Create an initial guess by simply dividing by 3.
var lastGuess, guess = num / 3;

// Loop until a good enough approximation is found.
do {
lastGuess = guess; // store the previous guess

// find a new guess by averaging the old one with
// the original number divided by the old guess.
guess = (num / guess + guess) / 2;

// Loop again if the product isn't close enough to
// the original number.
} while(Math.abs(lastGuess - guess) > 5e-15);

return guess; // return the approximate square root
};

对于更多,从 this Wikipedia page 中实现一个应该是微不足道的.

关于math - 如何在 javascript 中近似计算 float 的平方根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15613553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com