Проверка кратности чисел reactjs

В JS при проверке кратности возникает баг

Из-за особенностей JS он считает чуть по своему.
20.3 % 0.1 он дает 203, а
20.7 % 0.1 он дает 206.99999999999997

например stepQty = 0.1

и если value = 23.3 - это ок
и если value = 23.33- это не ок

например stepQty = 0.001

и если value = 23.3 - это ок
и если value = 23.33- это не ок

if (stepQty) btnIsActive = btnIsActive && (valueQty / stepQty) % 1 === 0

тут происходит ошибка, описанная выше.

Каким способом можно фиксануть эти 9?.

let btnIsActive = true;
if (minPrice) btnIsActive = btnIsActive && minPrice < value;

if (maxPrice) btnIsActive = btnIsActive && maxPrice > value;
if (maxQty) btnIsActive = btnIsActive && maxQty > valueQty;
if (minQty) btnIsActive = btnIsActive && minQty < valueQty;
if (minVolume && totalValue)
  btnIsActive = btnIsActive && totalValue > minVolume;
if (maxVolume && totalValue)
  btnIsActive = btnIsActive && totalValue < maxVolume;
if (stepQty) btnIsActive = btnIsActive && (valueQty / stepQty) % 1 === 0;
return btnIsActive;

Вариант умножить на 10 и потом разделить


Ответы (0 шт):