У меня есть функция, которая рассчитывает цену на основе квадратных метров и базовой цены.
Цена увеличивается на 10% за каждые 500 кв. Футов после 2000 кв. Все, что 2000sqft и ниже, составляет 149,99.
Функция ниже ...
checkPrice = () => {
debugger;
let base_price = 149.99;
if(this.state.propertySqft > 2000){
let overage = this.state.propertySqft - 2000;
let percentage = Math.floor(overage % 500) * 10;
base_price += base_price * percentage;
this.setState({ totalPrice: base_price });
}
}
проблема, с которой я столкнулся, заключается в том, что percentage
выглядит как '0', если квадратные метры представляют собой круглое число, иmath.ceil(overage % 500)
, кажется, не работает должным образом.
например .... если бы я должен был добавить 5001 кв. так как percentage
заканчивается только 10 вместо 60.
Если я введу 5000 кв. футов, percentage
появится как «0», что имеет место для любого круглого числа, которое я ввожукак квадратные метры.
Кто-нибудь знает, что я здесь делаю неправильно или почему это не работает так, как я этого ожидаю?