计算 javascript 的百分比变化

calculate % change in javascript

var current = 12000;
var june = 14600;
var may = 11200;

我想要 'current' 月份参数的百分比变化。输出应该是百分比,它可以加上或减去 w.r.t。当前月份。如何做到这一点?

简单的数学运算:

var res=(current-june)/current*100.0;
var percentchange = (june - current) / current * 100.0;

如果您的答案是负数,那么这是百分比增加,否则减少。

处理特殊情况、增减、四舍五入、超过100%等都不是一件容易的事

function calcPc(n1,n2){
  return (((n2 - n1) / n1 * 100).toLocaleString('fullwide', {maximumFractionDigits:3}) + "%");
}
   
   
   console.log(
   
     " May: "   , calcPc(11200,12000) ,
     "\nJune:" ,  calcPc(14600,12000)
   
   )

请注意,如果您的其中一个值为 0,您将得到 -100% 或 Infinity%。 这解决了这个问题:

   function percIncrease(a, b) {
        let percent;
        if(b !== 0) {
            if(a !== 0) {
                percent = (b - a) / a * 100;
            } else {
                percent = b * 100;
            }
        } else {
            percent = - a * 100;            
        }       
        return Math.floor(percent);
    }