Angularjs 此计算器的Angular.js平方根

Angularjs 此计算器的Angular.js平方根,angularjs,Angularjs,我已经搜索了很多地方,寻找了一个简化的平方根短代码版本,在JavaScript、Java、jQuery中找到了很多版本。。。但是Angular.js中没有任何内容 下面是我的代码: <body align"center"><form><h1 align="center">Quick 2 number Angular.js Calculator </h1></center> <center><h6>- Teachi

我已经搜索了很多地方,寻找了一个简化的平方根短代码版本,在JavaScript、Java、jQuery中找到了很多版本。。。但是Angular.js中没有任何内容

下面是我的代码:

<body align"center"><form><h1 align="center">Quick 2 number Angular.js Calculator </h1></center>
<center><h6>- Teaching aide only -</h6></center>
    <div ng-app="">

    <input type="number" ng-model="numb1" placeholder="number1" size="5px"><br />

    <input type="number" ng-model="numb2" placeholder="number2" size="5px"><br />

<b style="color:#0000FF"><button disabled>+</button>
<button disabled>-</button> 
<button disabled>X</button> 
<button disabled>/</button></b>
<button style="background-color:lime;color:green" disabled>ENT</button>
<button style="background-color:orange;color:red">CLR</button>
<center><h2>Answers Below</h2></center>

 <p>My first expression: {{ numb1 }} ; {{ numb2 }}</p>

 <p>Addition: {{ numb1 + numb2 }}</p>
 <p>Subtraction: {{ numb1 - numb2 }}</p>
 <p>Multiplication: {{ numb1 * numb2 }}</p>
 <p>Division: {{ numb1 / numb2 }}</p>

 <p>Square of {{ numb1 }}<small><sup>2</sup></small> is {{ numb1 * numb1 }}<br>Square of {{ numb2 }}<small><sup>2</sup></small> is {{ numb2 * numb2 }}</p>
 <p>Cube of {{ numb1 }}<small><sup>3</sup></small> is {{ numb1 * numb1 * numb1 }}<br>Cube of {{ numb2 }}<small> 
 <sup>3</sup></small> is {{ numb2 * numb2 * numb2 }}</p>
</form>
Quick 2 number Angular.js计算器
-仅助教-


+ - X / 耳鼻喉科 CLR 下面是答案 我的第一个表达式:{{numb1};{{numb2}

加法:{numb1+numb2}

减法:{{numb1-numb2}

乘法:{{numb1*numb2}

分部:{{numb1/numb2}

{numb1}}2的平方是{numb1*numb1}}
{numb2}2的平方是{numb2*numb2}

{numb1}}3的立方体是{numb1*numb1*numb1}}
{numb2}的立方体 3是{{numb2*numb2*numb2}


在本例中,javascript具有您想要的功能。为此,需要将参数传递给Math.sqrt函数。下面是一个来自中国的例子。您可以创建一个服务或指令来包装此函数,但angularjs本身没有此函数

function calcHypotenuse(a, b) {
  return(Math.sqrt((a * a) + (b * b)));
}

console.log(calcHypotenuse(3, 4));
// expected output: 5

console.log(calcHypotenuse(5, 12));
// expected output: 13

console.log(calcHypotenuse(0, 0));
// expected output: 0
如果您必须创建自定义解决方案,我建议您查看函数本身的javascript代码,以了解它是如何实现的。例如,您可以转到下载它们的实现

我能够找到算法,但下载后找不到那里的代码

平方根

使用一个简单的迭代算法来计算最大整数 小于或等于平方根。本质上,这是牛顿的 线性近似,通过查找 方程式:

      x[k]^2 - V x[k+1]    =  x[k] - ------------
           2 x[k]
…式中,V是求平方根的值。在里面 本质上,这里发生的是我们猜测 平方根,然后计算出我们的猜测有多远 减去目标。使用这个值,我们计算一个线性 近似误差,并调整“猜测”。我们一直在做 直到精度足够低,上述方程 产生一个零的商。在这一点上,我们最后的猜测是一个 大于我们正在寻找的平方根

初始猜测的计算方法是将V除以4,这是一种启发式方法 我发现我的平均成绩相当好。这也有好处 易于高效计算的优势,即使是大型 价值观

因此,结果算法的工作原理如下:

x = V / 4   /* compute initial guess */

loop  t = (x * x) - V   /* Compute absolute error  */     u = 2 * x         /* Adjust by tangent slope */     t = t / u
/*如果错误为零*/if(t==0),则完成循环 中断

/*按错误项调整猜测值*/x=x-t 结束

x = x - 1
计算的结果是x的值


在Html中:
调用角度控制器中定义的立方体和正方形函数

<input type="number" ng-model="numb1" placeholder="number1" ng-change="cube(numb1)" size="5px"><br />

<p>Square of {{ numb1 }}<small><sup>2</sup></small> is {{ cubeResult }}</p>

最好的方法是为此使用过滤器:

angular.module('app',[]).filter('sqrt',function(){
返回函数(编号){
返回Math.sqrt(数字);
};
});


{{numb1 | sqrt}}
James我很感谢你的回答,但我尽量保持Angular.js~我做了JavaScript版本,但根据我的作业,它又不是Angular.js……啊,那么你需要在这个问题上添加家庭作业标签。你是如何做到的???这真的不是一个学术课程的家庭作业,而是客户的说明书……好吧,听起来像是一个家庭作业。你能详细说明一下这个用例吗?既然解决方案已经存在于javascript中,为什么还要重新发明轮子呢?我看不出有什么意义。James“…但是angularjs本身没有这个函数。”这正是我在搜索问题的原因时遇到的问题。程序已经有了正方形和立方体,但只要得到数学。sqrt{{{numb1}或单独回答{numb1}的sqrt,并对{numb2}做同样的事情Jcubic你可能是最接近我要寻找的答案的人,你能为numb1~@brofarops的输入细化这个吗?这只是变量名的改变,它不会改变答案。
  $scope.cubeResult =0;
  $scope.square= function(value){
       $scope.cubeResult = value * value;
  };

  $scope.cube = function(value){
       $scope.cubeResult = value * value * value;
  };