javascript, как определить, является ли одно число кратным другому

Я строю довольно тяжелую тележку для расчетов для магазина тканей и обнаружил, что мне нужно сделать расчет длины, введенной пользователем * базовая цена за метр,но затем проверяем результат, чтобы убедиться, что он кратен длине шаблона. Если это не кратное число, мне нужно найти ближайшее кратное длины шаблона и изменить результат на него.

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

Я использую jQuery 1.6.2 и уже выполнил первую часть расчетов, мне просто нужно проверить результат (метры * цена) по сравнению с длина паттерна.

Любая помощь будет принята с благодарностью

РЕДАКТИРОВАТЬ: Все эти вычисления включают в себя 2 десятичных знака для цены и длины паттерна. Вводимая пользователем длина также может содержать десятичные дроби.

22
задан totallyNotLizards 12 August 2011 в 09:08
поделиться

1 ответ

Используйте оператор % (модуль) в Javascript и PHP, который возвращает остаток, когда a делится на b в a % b. Остаток будет равен нулю, когда a кратно b.

Пример.

//Javascript
var result = userLength * basePrice;     //Get result
if(result % patternLength){              //Check if there is a remainder
  var remainder = result % patternLength; //Get remainder
  if(remainder >= patternLength / 2)      //If the remainder is larger than half of patternLength, then go up to the next mulitple
    result += patternLength - remainder;
  else                                    //Else - subtract the remainder to go down
    result -= remainder;
}
result = Math.round(result * 100) / 100;  //Round to 2 decimal places
29
ответ дан 29 November 2019 в 03:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: