
javascript中Math.sin运算问题应该怎么解决?
展开全部
1、Math.sin() 的参数,必须是一个以弧度表示的角,角度数×Math.PI/180即为当前角度数的弧度值。30度角的sin()的写法为:Math.sin(30*Math.PI/180)\x0d\x0a2、180度转换成弧度理论上等于Math.PI,但由于cpu在运算的时候,会进行近似处理,所以并不相等。\x0d\x0a3、常规代数里,是等于0,但是cpu运算的时候,只是近似与0\x0d\x0a4、因为程序处理浮点数的时候,每一次运算都会取一次近似值,所以最终的结果,总是近似值,而不是我们通过代数得出的结果。\x0d\x0a\x0d\x0a综上,浮点数的运算,往往并不是我们期望的结果,可以通过Math.round() 函数来解决。\x0d\x0a\x0d\x0a例如,对比下面的两个结果,你会看明白的:\x0d\x0adocument.write(Math.sin(Math.PI) + "
");\x0d\x0adocument.write(Math.round(Math.sin(Math.PI)*1000000)/1000000);
");\x0d\x0adocument.write(Math.round(Math.sin(Math.PI)*1000000)/1000000);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询