Задать вопрос
serpanok
@serpanok

Как убрать погрешность при умножении float переменных?

Добрый день.

Есть алгоритм, производящий вычисления.
const lat_start = 48.890;
	const lng_start = 37.675;

	const lat_step = 0.001;
	const lng_step = 0.002;

	for(let lat_i = 0.0; lat_i < 5.0; lat_i+=1.0)
	{
		for(let lng_i = 0.0; lng_i < 5.0; lng_i+=1.0)
		{
			let self_lat = lat_start + ( lat_i * lat_step );
			let self_lng = lng_start + ( lng_i * lng_step );

			console.warn(self_lat + ", " + self_lng);
		}
	}


и почти сразу получаем неточные числа.

5bec2aaf5b04a155221510.png

Как быть, если нужна точность тк при больших количествах итераций точность падает очень сильно?
  • Вопрос задан
  • 630 просмотров
Подписаться 1 Простой Комментировать
Ответ пользователя Rsa97 К ответам на вопрос (2)
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Никак не убрать, это особенности представления чисел в компьютере.
Можно использовать какую-либо библиотеку арифметики произвольной точности, например big.js или переписать свои вычисления, чтобы оперировать только целыми числами.
Ответ написан