Number.EPSILON
Number.EPSILON
μ JavaScriptμμ ννν μ μλ κ°μ₯ μμ μ μ΄λ€. Number
νμΌλ‘ ννλ μ μλ 1κ³Ό 1λ³΄λ€ ν° κ° μ€μμ κ°μ₯ μμ κ°μ μ°¨μ΄λ€.
μ΄ μ μ μμ±μ μ κ·ΌνκΈ° μνμ¬ Number κ°μ²΄λ₯Ό μμ±ν νμκ° μλ€ -> μλνλ©΄ μμ νμ μΌλ‘ νλ‘νΌν°λ λ©μλλ₯Ό νΈμΆ ν λ μμ νμ κ³Ό μ°κ΄λ wrapper κ°μ²΄λ‘ μΌμμ μΌλ‘ λ³νλμ΄ νλ‘ν νμ κ°μ²΄λ₯Ό 곡μ νκ² λκΈ° λλ¬Έμ΄λ€.
const result = Math.abs(0.2 - 0.3 + 0.1);
result; // 2.7755575615628914e-17
result < Number.EPSILON;
// 2.7755575615628914e-17 < 2.2204460492503130808472633361816E-16 true
λΆλμμμ λλ λ λμ΄ μμμ
μ€μλ₯Ό μ»΄ν¨ν°μμμ κ·Όμ¬νμ¬ ννν λ μμμ μ μμΉλ₯Ό κ³ μ νμ§ μκ³ κ·Έ μμΉλ₯Ό λνλ΄λ μλ₯Ό λ°λ‘ μ μ κ²
λΆλμμμ μ°μ μ°μ° λΉκ΅λ μ νν κ°μ κΈ°λνκΈ° μ΄λ ΅λ€.
https://perfectacle.github.io/2017/08/04/ES6-EPSILON/ π
Description
EPSILON
μμ±μ 2.2204460492503130808472633361816E-16
, or 2-52 κ°κΉμ΄ κ°μ΄λ€.
Examples
// Math.absλ μ λκ°μ λ°ννλ€.
// μ¦ aμ bμ μ°¨μ΄κ° JavaScriptμμ ννν μ μλ κ°μ₯ μμ μμΈ Number.EPSILONλ³΄λ€ μμΌλ©΄ κ°μ μλ‘ μΈμ ν μ μλ€.
Math.abs(0.1 + 0.2 - 0.3) < Number.EPSILON;
// 5.551115123125783e-17 < 2.2204460492503130808472633361816E-16 true
λΆλμμμ μ°μ μ°μ° λΉκ΅λ μ νν κ°μ κΈ°λνκΈ° μ΄λ ΅λ€.
μ μλ 2μ§λ²μΌλ‘ μ€μ°¨μμ΄ μ μ₯μ΄ κ°λ₯νμ§λ§ λΆλμμμ μ νννλ κ°μ₯ λ리 μ°μ΄λ νμ€μΈ IEEE 754μ 2μ§λ²μΌλ‘ λ³νμ 무νμμκ° λμ΄ λ―ΈμΈν μ€μ°¨κ° λ°μν μ λ°μ μλ ꡬ쑰μ νκ³λ₯Ό κ°λλ€.
λ°λΌμ λΆλμμμ μ λΉκ΅λ Number.EPSILONμ μ¬μ©νμ¬ λΉκ΅ κΈ°λ₯μ κ°λ ν¨μλ₯Ό μμ±νμ¬μΌ νλ€.
Last updated
Was this helpful?