查  Math.atan(x) 知,x可以为任意数,Math.atan(x)返回值在(-π/2,π/2)之间,但总是不对,为验证,写直接打印语句如下: $j("#console3").append(
"atan(-999999999999999999)="+Math.atan(-999999999999999999)*180+"</br>"+
"atan(-999)="+Math.atan(-999)*180+"</br>"+
"atan(-9)="+Math.atan(-9)*180+"</br>"+
"atan(-1)="+Math.atan(-1)*180+"</br>"+
"atan(-0.5)="+Math.atan(-0.5)*180+"</br>"+
"atan(-0.1)="+Math.atan(-0.1)*180+"</br>"+
"atan(-0.01)="+Math.atan(-0.01)*180+"</br>");结果:
atan(-999999999999999999)=-282.7433388230814
atan(-999)=-282.5631587030815
atan(-9)=-262.8250390117802
atan(-1)=-141.3716694115407
atan(-0.5)=-83.4565696201451
atan(-0.1)=-17.940357448409166
atan(-0.01)=-1.7999400035997428
怎么解释!?

解决方案 »

  1.   

    以为做一个图形,无法避免使用  Math.atan()  函数,但却出现这样的情况,实在纠结!
      

  2.   

    document.write(
    "atan(-999999999999999999)="+Math.atan(-999999999999999999)*180/Math.PI+"</br>"+
    "atan(-999)="+Math.atan(-999)*180/Math.PI+"</br>"+
    "atan(-9)="+Math.atan(-9)*180/Math.PI+"</br>"+
    "atan(-1)="+Math.atan(-1)*180/Math.PI+"</br>"+
    "atan(-0.5)="+Math.atan(-0.5)*180/Math.PI+"</br>"+
    "atan(-0.1)="+Math.atan(-0.1)*180/Math.PI+"</br>"+
    "atan(-0.01)="+Math.atan(-0.01)*180/Math.PI+"</br>")atan(-999999999999999999)=-90
    atan(-999)=-89.94264688651026
    atan(-9)=-83.6598082540901
    atan(-1)=-45
    atan(-0.5)=-26.56505117707799
    atan(-0.1)=-5.710593137499643
    atan(-0.01)=-0.5729386976834859
      

  3.   

    完整如下:
    $j("#console3").append(
    "atan(-999999999999999999)="+Math.atan(-999999999999999999)*180+"</br>"+
    "atan(-999)="+Math.atan(-999)*180+"</br>"+"atan(-9)="+Math.atan(-9)*180+"</br>"+
    "atan(-1)="+Math.atan(-1)*180+"</br>"+"atan(-0.5)="+Math.atan(-0.5)*180+"</br>"+
    "atan(-0.1)="+Math.atan(-0.1)*180+"</br>"+"atan(-0.01)="+Math.atan(-0.01)*180+"</br>"+
    "atan(0)="+Math.atan(0)*180+"</br>"+"atan(0.01)="+Math.atan(0.01)*180+"</br>"+
    "atan(0.1)="+Math.atan(0.1)*180+"</br>"+"atan(0.5)="+Math.atan(0.5)*180+"</br>"+
    "atan(1)="+Math.atan(1)*180+"atan(9)="+Math.atan(9)*180+"</br>"+
    "atan(999)="+Math.atan(999)*180+"</br>"+
    "atan(999999999999999999)="+Math.atan(999999999999999999)*180+"</br>");结果:
    atan(-999999999999999999)=-282.7433388230814
    atan(-999)=-282.5631587030815
    atan(-9)=-262.8250390117802
    atan(-1)=-141.3716694115407
    atan(-0.5)=-83.4565696201451
    atan(-0.1)=-17.940357448409166
    atan(-0.01)=-1.7999400035997428
    atan(0)=0
    atan(0.01)=1.7999400035997428
    atan(0.1)=17.940357448409166
    atan(0.5)=83.4565696201451
    atan(1)=141.3716694115407atan(9)=262.8250390117802
    atan(999)=282.5631587030815
    atan(999999999999999999)=282.7433388230814范围在(-282.7433388230814,282.7433388230814)之间
      

  4.   

     我没发现有什么不对呀 Math.atan(x)返回值都在(-π/2,π/2)之间 你乘180以后当然不在(-π/2,π/2)之间了