Javascript 使用数学公式计算增长百分比

Javascript 使用数学公式计算增长百分比,javascript,math,ecmascript-6,Javascript,Math,Ecmascript 6,我有一个计算两个数字增加百分比的函数: const 1st_num = 50 const 2nd_num = 100 percentage = ((1st_num - 2nd_num) / 1st_num) * 100 // -100 这似乎是正确的,但如果第一个数字是1呢 ((1 - 50) / 1) * 100 // -4900 我不认为这有什么意义了。我遗漏了什么?如果计算两个数字之间百分比的增量变化,则应该是相反的: variation = ((num2 - num1) / nu

我有一个计算两个数字增加百分比的函数:

const 1st_num = 50
const 2nd_num = 100

percentage = ((1st_num - 2nd_num) / 1st_num) * 100  // -100
这似乎是正确的,但如果第一个数字是1呢

((1 - 50) / 1) * 100 // -4900

我不认为这有什么意义了。我遗漏了什么?

如果计算两个数字之间百分比的增量变化,则应该是相反的:

variation = ((num2 - num1) / num1) * 100
最后但并非最不重要的一点是,您的增量可以超过100%

例如,想象一下

  • t1=10和t2=11->您的增量计算如下:(11-10)/10,因此您的增量为10%
  • 但是如果你有t1=10和t2=100->你的增量将变成(100-10)/10,因此你有900%的增长

不能使用以数字开头的变量名

const fst_num = 50
const snd_num = 100

percentage = ((snd_num -fst_num) / fst_num) * 100  

首先,你的问题更适合在数学论坛的某个地方提出:

您的公式是正确的,只需按如下方式更改,以获得正数的递增变化:

百分比=((第二个数-第一个数)/第一个数)*100/
100%

但是你用1治疗完全正确


4900%换句话说,价值增加了49倍。

那么我该怎么办?你没有答案。检查哪个大一点,然后用大一点的数字减去小一点的数字?@Durga你确定吗?因此,从1到50,它减少了-4900%?虽然这个代码片段可以解决这个问题,但确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。
const fst_num = 70192.32
const snd_num = 17548.08

const percentage = ( 100 - ( ( fst_num - snd_num ) / fst_num ) * 100 );