Come calcolare una variazione percentuale (aumento e diminuzione) da 2 valori in JavaScript

Vuoi risolvere una semplice variazione percentuale in JavaScript? Il primo che devi fare è pensare matematicamente. È necessario recuperare la differenza (diminuzione o aumento) tra i numeri che si stanno confrontando. Questa differenza deve essere divisa tra il primo numero (quello che non cambia). Il risultato di questa operazione deve essere moltiplicato di 100. Facendo un’astrazione di questo processo in una funzione JavaScript, avremmo:

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

Nota che se cambi gli ordini del vecchio e del nuovo numero, la risposta sarebbe diversa, quindi assicurati che il primo argomento sia la prima versione del valore, cioè quello che non è cambiato e come secondo argomento il valore che è cambiato.

Esempi

I seguenti esempi mostrano diversi casi di variazione percentuale sia positiva (diminuzione) che negativa (aumento) secondo il punto di vista:

Nota

Un valore negativo indica un aumento percentuale.

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

Dove può essere utilizzata questa funzione

Ad esempio, se si sta lavorando con algoritmi di compressione delle immagini, è possibile visualizzare un valore leggibile in percentuale che indica quanto è stato compresso dall’immagine iniziale, dove oldNumber è la dimensione del file originale, ad esempio 1 MB e newNumber è 500 KB, il che comporterebbe una diminuzione del 50%.

Codifica felice !

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.