【发布时间】:2015-09-07 04:08:43
【问题描述】:
var current = 12000;
var june = 14600;
var may = 11200;
我想要关于“当前”月份参数的百分比变化。输出应该是百分比,它可以增加或减少 w.r.t.当前月份。如何做到这一点?
【问题讨论】:
标签: javascript math percentage
var current = 12000;
var june = 14600;
var may = 11200;
我想要关于“当前”月份参数的百分比变化。输出应该是百分比,它可以增加或减少 w.r.t.当前月份。如何做到这一点?
【问题讨论】:
标签: javascript math percentage
请注意,如果您的值之一是 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);
}
【讨论】:
Math.floor?
简单的数学运算:
var res=(current-june)/current*100.0;
【讨论】:
var percentchange = (june - current) / current * 100.0;
如果你的答案是负数,那么这是百分比增加,否则减少。
【讨论】:
(june/current - 1) * 100。
处理特殊情况、增减、四舍五入、超过100%等都不是一件容易的事。
function calcPc(n1,n2){
return (((n2 - n1) / n1 * 100).toLocaleString('fullwide', {maximumFractionDigits:3}) + "%");
}
console.log(
" May: " , calcPc(11200,12000) ,
"\nJune:" , calcPc(14600,12000)
)
【讨论】: