Вопрос плохо составлен: некоторые, включая меня, в начале решили что школьник не знает математику.
В комментариях выяснилось, что вопрос вызван опасениями проблем ошибок округления дробных чисел.
Но не раскрыты детали – какие значения могут быть введены, что требуется на выходе.
Возможно, достаточно простого округления
Math.round()
для определения попадания в интервал:
var priceProduct = 2000;
var monthlyPayment = 230;
var precision = 1e-6; // точность одна миллионная
var months = priceProduct / monthlyPayment;
var nearest = Math.round(months);
var diff = months - nearest;
if (diff > precision) months = nearest + 1; // == Math.ceil()
Если уверены, что проблема есть и точность важна – то можно использовать библиотеку для операций с десятичными числами любой точности. Например,
decimal.js