平方根计算

subrat71

想计算给定输入的平方根,所以我用了这段代码

var no1:Number = 2;
var no2:Number; //input for calculation
var total:Number;
total=Math.pow(no2,(1/no1));

它的工作,但我遇到的问题,如:-如果我给

2 = 25;

然后它显示

总计= 4.9999999

为了克服这个问题,我在下面的代码中使用

total = Math.ceil(Math.pow(no2,(1 / no1)));

但是25的不错。

总数= 5

问题是如果我给21,22,23,24

对于所有这些输入,它显示5

那么还有其他解决方案吗?

彼德

如果您想扎根。您可以将函数的输出馈送到任意舍入函数,如下所示:

/**
 * Rounds input number to specified number of decimal places. For example
 * round(4.568, 2) will return 4.57, and round(4.99, 2) will return 5.
 */
function round(num:Number, toDecimalPlaces:uint) {
   var factor:uint = Math.pow(10, toDecimalPlaces);
   return Math.round(num * factor) / factor;
}

/**
 * Returns nth root to two decimal places.
 */
function nthRoot(n:uint, num:Number) {
   return round(Math.pow(num, (1 / n)), 2);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章