我的目標是擁有一個百倍度/弧度轉換工具。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