JS властивість Number.EPSILON
| Нотатка: | Для початківців важливо розуміти, що |
| Порада: | Використовуйте
|
| Порада: | Якщо ви створюєте бібліотеку або функцію для математичних операцій, завжди враховуйте |
Синтаксис
Number.EPSILON
Значення
Return
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
34 |
25 |
9 |
21 |
12 |
| Переглядач | ||||
|---|---|---|---|---|
37 |
34 |
25 |
9 |
| Переглядач | ||
|---|---|---|
0.12.0 |
1.0 |
Приклади
У цьому прикладі ми використовуємо Number.EPSILON для порівняння двох чисел з плаваючою комою. Завдяки цьому можна визначити, чи є вони "майже рівними", ураховуючи потенційні неточності представлення чисел у комп'ютерах.
const num1 = 0.1 + 0.2;
const num2 = 0.3;
if (Math.abs(num1 - num2) < Number.EPSILON) {
console.log('Числа майже рівні.');
} else {
console.log('Числа відмінні.');
}
// Виведе: Числа майже рівні.
У цьому прикладі ми розглянемо складніший сценарій, де використовуємо Number.EPSILON для перевірки коректності обчислення власної функції sqrt, яка визначає квадратний корінь числа за допомогою методу Ньютона.
function sqrt(x, guess = x / 2.0) {
const improved_guess = (guess + x / guess) / 2;
if (Math.abs(guess - improved_guess) < Number.EPSILON) {
return improved_guess;
}
return sqrt(x, improved_guess);
}
const result = sqrt(2);
console.log(result); // Приблизно 1.414213562373095
// Перевірка результату за допомогою вбудованої функції
if (Math.abs(result * result - 2) < Number.EPSILON) {
console.log('Результат вірний.');
} else {
console.log('Результат невірний.');
}
// Виведе: Результат вірний.
