Elementor Header #8

10. Числа с плавающей точкой

Числа с плавающей точкой (или просто «вещественные числа») в JavaScript представляют собой числа с дробной частью. Эти числа используются для точных вычислений, требующих учета десятичных значений. В этом уроке мы рассмотрим основы работы с числами с плавающей точкой, их особенности, распространённые ошибки и методы работы с ними.

Основные принципы

  • Формат представления: В JavaScript все числа, включая числа с плавающей точкой, представлены в формате 64-битного числа IEEE 754.
  • Создание чисел с плавающей точкой: Числа с плавающей точкой можно создать с использованием десятичной точки.
				
					let num1 = 3.14;
let num2 = 0.5;
let num3 = -2.73;

				
			
  • Экспоненциальное представление: JavaScript поддерживает экспоненциальное представление для больших и маленьких чисел.
				
					let num1 = 5e3; // 5000
let num2 = 2.5e-3; // 0.0025

				
			

Операции с числами с плавающей точкой

Операции с числами с плавающей точкой включают сложение, вычитание, умножение и деление. Однако стоит учитывать, что из-за особенностей представления таких чисел могут возникать ошибки округления.

Примеры операций
				
					let a = 0.1;
let b = 0.2;

let sum = a + b;
console.log(sum); // Ожидаемый результат: 0.3, фактический результат: 0.30000000000000004

				
			
Решение проблем с округлением

Для решения проблем с округлением можно использовать метод toFixed() или toPrecision().

				
					let sum = a + b;
console.log(sum.toFixed(2)); // 0.30
console.log(sum.toPrecision(1)); // 0.3

				
			

Методы для работы с числами с плавающей точкой

  • Math.round(): Округляет число до ближайшего целого.
				
					let num = 3.14;
console.log(Math.round(num)); // 3

				
			
  • Math.ceil(): Округляет число вверх до ближайшего целого.
				
					let num = 3.14;
console.log(Math.ceil(num)); // 4

				
			
  • Math.floor(): Округляет число вниз до ближайшего целого.
				
					let num = 3.14;
console.log(Math.floor(num)); // 3

				
			
  • Math.trunc(): Отбрасывает дробную часть числа.
				
					let num = 3.14;
console.log(Math.trunc(num)); // 3

				
			

Распространённые ошибки

  • Проблемы с точностью: При работе с числами с плавающей точкой могут возникать проблемы с точностью.

				
					let a = 0.1;
let b = 0.2;
let sum = a + b;
console.log(sum); // 0.30000000000000004

				
			
  • Использование оператора сравнения: Из-за ошибок округления могут возникать проблемы при сравнении чисел с плавающей точкой.
				
					let a = 0.1;
let b = 0.2;
let c = 0.3;
console.log(a + b === c); // false

				
			

Решение: Используйте небольшое значение для сравнения (эпсилон).

				
					let epsilon = 0.000001;
console.log(Math.abs((a + b) - c) < epsilon); // true

				
			

Заключение

Числа с плавающей точкой играют важную роль в программировании, особенно в приложениях, где требуется точность вычислений. Понимание особенностей работы с этими числами и методов их обработки поможет избежать распространённых ошибок и обеспечить точность вычислений.

Тестовое задание

Напишите код, который выполняет следующие действия:

  • Создаёт переменные x, y и z с любыми числами с плавающей точкой.
  • Вычисляет их сумму и выводит результат с точностью до двух знаков после запятой.
				
					let x = 0.1;
let y = 0.2;
let z = 0.3;

let sum = x + y + z;
console.log(sum.toFixed(2)); // Ожидаемый результат: 0.60

				
			

Напишите код, который проверяет, равны ли два числа с плавающей точкой с учётом допустимой погрешности (эпсилон).

  • Создайте переменные a и b с любыми числами с плавающей точкой.
  • Проверьте их равенство с использованием эпсилона и выведите результат в консоль.
				
					let a = 0.1;
let b = 0.2;
let c = 0.3;

let epsilon = 0.000001;
console.log(Math.abs((a + b) - c) < epsilon); // Ожидаемый результат: true

				
			
Этот урок поможет вам лучше понять числа с плавающей точкой в JavaScript и избежать распространённых ошибок, связанных с их использованием.
logo