Hur man beräknar en procentuell förändring (ökning och minskning) från 2 värden i JavaScript

villig att lösa en enkel procentuell förändring i JavaScript? Det första du behöver göra är att tänka matematiskt. Du måste hämta skillnaden (minska eller öka) mellan de siffror som du jämför. Denna skillnad måste delas mellan det första numret (det som inte ändras). Resultatet från denna operation måste vara mulitplied med 100. Genom att göra en abstraktion av denna process i en JavaScript-funktion skulle vi ha:

/** * 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;}

Observera att om du ändrar orderna för det gamla och det nya numret skulle svaret vara annorlunda, så se till att det första argumentet är den första versionen av värdet, det betyder den som inte ändrades och som andra argument värdet som ändrats.

exempel

följande exempel visar olika fall av en procentuell förändring både positiv (minskning) som negativ (ökning) enligt synvinkel:

notera

ett negativt värde indikerar en procentuell ökning.

// 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);

var kan den här funktionen användas

om du till exempel arbetar med bildkomprimeringsalgoritmer kanske du vill visa ett läsbart värde i procent som anger hur mycket som komprimerades från intialbilden, där det gamla numret är den ursprungliga filstorleken, t.ex.1 MB och det nya numret är 500 KB vilket skulle resultera i en minskning med 50%.

Lycklig kodning !

Lämna ett svar

Din e-postadress kommer inte publiceras.