Number.EPSILON
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
A propriedade Number.EPSILON
representa a diferença entre 1 e o menor ponto flutuante maior que 1.
Você não tem que criar um objeto Number
para acessar esta propriedade estática (use Number.EPSILON
).
Experimente
const result = Math.abs(0.2 - 0.3 + 0.1);
console.log(result);
// Expected output: 2.7755575615628914e-17
console.log(result < Number.EPSILON);
// Expected output: true
Property attributes of Number.EPSILON | |
---|---|
Writable | no |
Enumerable | no |
Configurable | no |
Descrição
A propriedade EPSILON
tem o valor de aproximadamente 2.2204460492503130808472633361816E-16
, ou 2-52
.
Polyfill
js
if (Number.EPSILON === undefined) {
Number.EPSILON = Math.pow(2, -52);
}
Exemplos
Testando igualdade
js
x = 0.2;
y = 0.3;
z = 0.1;
equal = Math.abs(x - y + z) < Number.EPSILON;
Especificações
Specification |
---|
ECMAScript® 2025 Language Specification # sec-number.epsilon |
Compatibilidade com navegadores
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EPSILON |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Veja também
- O objeto
Number
que esta propriedade pertence.