想要计算给定输入的平方根,所以我使用了这段代码
var no1:Number = 2;
var no2:Number; //input for calculation
var total:Number;
total=Math.pow(no2,(1/no1));
它的工作,但我遇到的问题,如: - 如果我给
no2 = 25;
然后显示
总= 4.9999999
克服了我在代码下面使用的问题
总= Math.ceil(Math.pow(NO 2,(1 / NO1)));
但它的25岁。
总计= 5
问题是如果我给21,22,23,24
对于所有这些输入它显示5
还有其他解决方案???
答案 0 :(得分:1)
var total:Number = Math.sqrt(no2);
答案 1 :(得分:1)
如果你想取第n个根。您可以将函数的输出提供给任意舍入函数,如下所示:
/**
* 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);
}
答案 2 :(得分:0)
我的实际代码是这样的
var str:String=view.numDisplay.text;//input string
var power:Number = Number(inString.charAt(inString.indexOf('√') - 1));//to get the value before √ i.e no1
var no1:Number;
var no2:Number;
var total:Number;
if(power)
no1=v;
else
no1=2;
no2=getSubTerm();//method to find no2 it returns the number for calculation
total=Math.ceil(Math.pow(no2,(1/no1)));