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('Результат невірний.');
}
// Виведе: Результат вірний.