Jak vypočítat procentuální změnu (zvýšení a snížení) z 2 hodnot v JavaScriptu

ochotni vyřešit jednoduchou procentuální změnu v JavaScriptu? První, co musíte udělat, je myslet matematicky. Musíte načíst rozdíl (snížení nebo zvýšení) mezi čísly, která porovnáváte. Tento rozdíl je třeba rozdělit mezi první číslo (To, které se nemění). Výsledek této operace musí být mnohotvárný o 100. Provedení abstrakce tohoto procesu ve funkci JavaScript bychom měli:

/** * Calculates in percent, the change between 2 numbers. * e.g from 1000 to 500 = 50% * * @param oldNumber The initial value * @param newNumber The value that changed */function getPercentageChange(oldNumber, newNumber){ var decreaseValue = oldNumber - newNumber; return (decreaseValue / oldNumber) * 100;}

Všimněte si, že pokud změníte pořadí Starého a nového čísla, odpověď by byla jiná, takže se ujistěte, že první argument je první verze hodnoty, to znamená ta, která se nezměnila, a jako druhý argument hodnota, která se změnila.

příklady

následující příklady ukazují různé případy procentuální změny jak pozitivní (snížení), tak negativní (zvýšení) podle pohledu:

Poznámka

záporná hodnota označuje procentní nárůst.

// X = 500// Y = 234// % = 53.2getPercentageChange(500, 234);// X = 1000// Y = 890// % = 11getPercentageChange(1000, 890);// X = 5// Y = 2// % = 60getPercentageChange(5, 2);// X = 100// Y = 120// % = -20// Note: negative as it incremented 20%getPercentageChange(100, 120);// X = 500// Y = 500// % = 0// Note: no percent changegetPercentageChange(500, 500);

kde lze tuto funkci použít

pokud například pracujete s algoritmy komprese obrazu, možná budete chtít zobrazit hodnotu čitelnou pro člověka v procentech, která udává, kolik bylo komprimováno z intial image, kde oldNumber je původní velikost souboru např. 1MB a newNumber je 500KB, což by mělo za následek pokles o 50%.

šťastné kódování !

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.