私はJavaScriptのいくつかの数学ロジックを理解しようとするとJavaScriptに非常に新しいです。条件が機能していない場合、なぜ私の表現が内部にありますか?
index.js
var a = 0.1,
b = 0.2,
c = Math.random(a + b);
if(c === 0.3) {
console.log('fun');
}
私はJavaScriptのいくつかの数学ロジックを理解しようとするとJavaScriptに非常に新しいです。条件が機能していない場合、なぜ私の表現が内部にありますか?
index.js
var a = 0.1,
b = 0.2,
c = Math.random(a + b);
if(c === 0.3) {
console.log('fun');
}
Math.random()
は、0と1の間のランダムな数を与えます。
Math.round()
を使用すると、浮動小数点を丸めて浮動小数点の差をなくすことができます。
var a = 0.1,
b = 0.2,
c = Math.round((a + b) * 100)/100; // Round numbers to single decimal point
if (c === 0.3) {
Math.random()
(包括的)0と1の間の乱数(排他的)を返しますし、任意の引数を取りません。
そのため、Math.random()自体は、微調整なしで0.3を生成できます。
これを試してみてください。
var c = Math.round(Math.random()* 10)/10;
if (c === 0.3)
console.log('fun');
}
'Math.random'は、任意の引数を取りません。 – elclanrs