jsにおけるパーパーネット()の奇妙な行為
1090 ワード
parseInt(0.00000 06)は6に等しいです.パーミッションInt関数の役割 原因を探究する. 総括原因 を改正する.
背景を検討します.パートナー達が発見されたかどうかは分かりませんが、パーパー秒Int(0.006)やパーパー秒Int(0.0006)などの戻り値は全部必要です.
0ですが、パーrseInt(0.00000 06)が返した値は奇妙です.
6,これは一体なぜですか?
parseInt関数の役割
まず、PArseIntの役割は何ですか?彼はjs原生の方法で、数字文字列をNumberタイプの数字に転化するためのものです.そして彼は整数部分だけを転化します.
原因を究める
私たちが理想的なのはこの小数点を0にすることですが、パー秒Int(0.000006)は6に戻ります.本当にスペクトルから外れています.
この原因を発見しました.元々は10の-6乗の後、形が複数の形に変わったからです.そしてパー秒Int()で6 e-7の6を返したので、最後に戻った値は6です.
改正する
小数点を安全に戻すには、別の方法を使います.
背景を検討します.パートナー達が発見されたかどうかは分かりませんが、パーパー秒Int(0.006)やパーパー秒Int(0.0006)などの戻り値は全部必要です.
0ですが、パーrseInt(0.00000 06)が返した値は奇妙です.
6,これは一体なぜですか?
parseInt関数の役割
まず、PArseIntの役割は何ですか?彼はjs原生の方法で、数字文字列をNumberタイプの数字に転化するためのものです.そして彼は整数部分だけを転化します.
原因を究める
私たちが理想的なのはこの小数点を0にすることですが、パー秒Int(0.000006)は6に戻ります.本当にスペクトルから外れています.
console.log(parseInt(0.006)) //0
console.log(parseInt(0.0006)) //0
console.log(parseInt(0.00006)) //0
console.log(parseInt(0.000006)) //0
console.log(parseInt(0.0000006)) //6
彼の原因を探ってみました.どこに問題がありましたか?parseInt(0.0000006) //0.000006
String(0.0000006); //6e-7
parseInt(6e-7); //6
parseInt(0.0000006) //6
原因を纏めるこの原因を発見しました.元々は10の-6乗の後、形が複数の形に変わったからです.そしてパー秒Int()で6 e-7の6を返したので、最後に戻った値は6です.
改正する
小数点を安全に戻すには、別の方法を使います.
Math.floor(0.00006); //0
Math.floor(0.000006); //0
Math.floor(0.0000006); //0
これであなたの欲しい値が得られます.私は不定時の髪を送ります.勉強中に出会った穴にはまだいくつかの小さな知識があります.好きだったら、私に注目してください.