繁体   English   中英

对于小于 1 的值 Math.acosh() 返回 NaN

[英]For values less than 1 Math.acosh() returns NaN

我正在解决一个 Keta 在 codewars 中,Keta 是要找到如果给定的边可以形成一个三角形,我解决了这个问题,但是当我尝试使用余弦定律找到角度 A 时
我发现对于小于 1 Math.acosh() 的值返回 NaN。 我怎样才能找到角度A?

function isTriangle(a,b,c)
{
  if(a > 0 && b > 0 && c > 0){

    let angelA, cosAInverse;

    //law of cosines CosA = (b^2 + c^2 - a^2) / (2 * b * c);
    angelA = (Math.pow(b,2) + Math.pow(c, 2) - Math.pow(a,2)) / (2 * b * c);

    //Math.acosh(0.852);
    cosAInverse = Math.acosh(angelA); // expected value 28.95502437

    console.log(cosAInverse); // NaN

    return cosAInverse;

  }
  return false;
}
var xx = isTriangle(1,2,2);
console.log(xx);

你不想要Math.acosh()而是Math.acos()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM