私は常にJavaでコーディングしており、最近JavaScript(正確にはnode.js)でコーディングを始めました。私を夢中にさせていることの 1 つは、10 進数の加算演算です。
次のコードを検討してください
var a=0.1, b=0.2, c=0.3;
var op1 = (a+b)+c;
var op2 = (b+c)+a;
驚いたことに、私は見つけましたop1 != op2
!console.logging op1 と op2 は以下を出力します:
console.log(op1); 0.6000000000000001
console.log(op2); 0.6
これは意味がありません。JavaScript は単純に算術規則を無視できないため、これはバグのように見えます。誰かがなぜこれが起こるのか説明してもらえますか?