我的目标是拥有一个百倍度/弧度转换工具。JavaScript浮点运算中的跨浏览器一致性
var PI = 3.1415926535897936;
var PI_100 = 1.5707963267948968; // PI*0.5;
var PI_300 = 4.71238898038469; // PI*(1.5);
var D_PI = 6.283185307179587; // 2*pi
var centTo = 0.015707963267948967;
铬评估以下表达式如下所示:
PI*2 == D_PI >>> true
PI*0.5 = PI_100 >>> true
PI*1.5 = PI_300 >>> true
100*centTo == PI_100 >>> true
300*centTo == PI_300 >>> true
难道这些表达式总是true
在每一个浏览器?
或者在比较时是否必须使用epsilon?
var epsilon = 0.0000001;
Math.abs(a - b) < epsilon
只是感兴趣,为什么你没有使用'Math.PI'? – 2014-10-01 19:33:15
如果你打算在这个水平上做数学 – 2014-10-01 19:37:22
@LeshaOgonkov因为Math.PI是3.141592653589793,如果你制作了D_PI = 2 * Math.PI,那么D_PI = = 2 * Math.PI是假的!但'我的'PI * 2 =='我的'D_PI结果为true .... – civiltomain 2014-10-01 20:10:06