根据用户输入的价格计算React JS

时间:2019-10-24 15:49:27

标签: javascript reactjs react-native math calculation

我有一个根据平方英尺和基准价计算价格的函数。

2000平方英尺之后,每500平方英尺的价格上涨10%。 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平方英尺,则价格应为149.99 * 60%,即239.98,但由于percentage最终为10,所以价格为164.98,而不是60。

如果我放置5000平方英尺,则percentage会显示为“ 0”,这是我输入为平方英尺的任何整数的情况。

有人知道我在这里做错了什么吗,或者为什么这没有按照我期望的那样工作?

1 个答案:

答案 0 :(得分:1)

模运算符用于将距离移至下一个较低的倍数,例如traitCollectionDidChange将是2006 % 500,就像6。您要,在这种情况下要得到4:500 * 4 + 6 = 2006,然后将其取整到下一个整数。

如果您将基本价格乘以10,则不会将其提高10%,而不会提高1000%。您可能需要0.1(每百个 10 )。

我将其写为:

2006 / 500 = 4.00...