bereid om een eenvoudige procentuele verandering in JavaScript op te lossen? De eerste die je moet doen, is wiskundig denken. U moet het verschil (vermindering of verhoging) tussen de getallen die u vergelijkt ophalen. Dit verschil moet worden verdeeld tussen het eerste nummer (degene die niet verandert). Het resultaat van deze operatie moet worden mulitply door 100. Het maken van een abstractie van dit proces in een JavaScript-functie, zouden we hebben:
/** * 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;}
merk op dat als u de volgorde van het oude en het nieuwe getal wijzigt, het antwoord anders zou zijn, dus wees er zeker van dat het eerste argument de eerste versie van de waarde is, dat betekent degene die niet veranderde en als tweede argument de waarde die veranderde.
voorbeelden
de volgende voorbeelden tonen verschillende gevallen van een procentuele verandering zowel positief (daling) als negatief (stijging), afhankelijk van het standpunt:
Noot
een negatieve waarde duidt op een procentuele stijging.
// 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);
Waar kan deze functie worden gebruikt
bijvoorbeeld, als u met beeldcompressiealgoritmen werkt, wilt u misschien een leesbare waarde in procenten weergeven die aangeeft hoeveel gecomprimeerd is van de intiale afbeelding, waarbij het oldNumber de oorspronkelijke Bestandsgrootte is, bijvoorbeeld 1MB en het newNumber 500KB is, wat zou resulteren in een afname van 50%.
Gelukkig coderen !