Разработчик Андрей поделился полезными материалами для фронтендеров и рассказал, как решить проблему некорректного результата при выполнении операций с плавающей запятой.
Рассмотрим на примере:
Какой результат будет при выполнении следующего кода?
console.log(0.1 + 0.2);
Кажется, что очевидно "0.3" , но на самом деле результат будет "0.30000000000000004".
Можно округлить до "0.3" путем использования небольшой хитрости:
console.log(Math.round((0.1 + 0.2) * 10) / 10);
Однако, этот вариант помогает не во всех случаях, один из таких примеров есть в статье.
Советы, которые помогут избежать таких проблем:
1) Бери целочисленные значения
2) Используй специальные библиотеки: currency.js или decimal.js
Также ты можешь посмотреть, как другие языки программирования обрабатывают выражение "0.1 + 0.2" на этом сайте, а здесь почитать, почему такая проблема существует.
➡️Тестируй советы Андрея, если сталкиваешься с такими проблемами.
➡️Делись в комментариях новыми темами для экспертного контента.
#полезное
