我在计算百分比时遇到一些JavaScript问题。它总是有1%的折扣:

pcOff = parseInt((1-(PriceFrom/PriceFromRRP))*100);


从JSON返回中捕获PriceFrom和PriceFromRRP,如果PriceFrom = '40.00'PriceFromRRP = '50.00' pcOff设置为19;应该是20岁。谁能阐明一些想法?

最佳答案

(1-(PriceFrom/PriceFromRRP))*100


给出:

19.999999999999996


当您parseInt时,解析器将读取数字,直到遇到非数字为止-即19



您最好的选择(对于本示例)是最后分:

100 - PriceFrom*100/PriceFromRRP




20


这样可以防止浮点错误首先出现

07-24 16:35