2010-12-08 12 views
5

Disons que j'ai 3 séries de nombres et je veux le% de leur différence.Calcul de pourcentage négatif et positif

30 - 60 
94 - 67 
10 - 14 

Je veux une fonction qui calcule le pourcentage de la différence entre chaque 2 numéros, et le plus important est de soutenir les pourcentages positifs et négatifs.

Exemple:

30 - 60 : +100% 
94 - 67 : -36% (just guessing) 
10 - 14 : +40% 

Merci

+3

30 - 60 est + 100% me – Eineki

+0

Les chiffres que vous fournissez ne pas vraiment ne veut rien dire. Pourriez-vous nous dire quels sont les chiffres que nous devrions produire au lieu de faire des choses qui semblent correctes? –

+0

Eineki, désolé :) – Ryan

Répondre

15
Ce

est mathématique assez basique.

% différence de x à y est 100*(y-x)/x

+1

attention à la division par zéro erreur dans C# – Adween

4

pour x - y le pourcentage est (y-x)/x*100

3

mathématiques simples:

function differenceAsPercent($number1, $number2) { 
    return number_format(($number2 - $number1)/$number1 * 100, 2); 
} 

    echo differenceAsPercent(30, 60); // 100 
    echo differenceAsPercent(94, 67); // -28.72 
    echo differenceAsPercent(10, 14); // 40 
6

La question importante est de savoir si l'un de vos numéros est un connu référence, par exemple, une valeur théorique.

sans numéro de référence, utilisez la pour cent de différence comme

100*(y-x)/((x+y)/2) 

La distinction importante est divise par la moyenne ici, qui symétrise la définition. De votre exemple cependant, il semble que vous pourriez vouloir pour cent d'erreur, c'est-à-dire que vous pensez à votre premier numéro comme numéro de référence et que vous voulez savoir comment l'autre dévie de cela. Ensuite, l'équation, où x est le numéro de référence, est:

100*(y-x)/x 

Voir, par exemple, wikipedia, pour une petite discussion à ce sujet.

0
$c = ($a > $b) ? ($a-$b)/$a*-100 : ($b-$a)/$b*100; 

En Ukraine les enfants apprennent ces calculs mathématiques à l'âge de 12 :)

+1

J'écris des applications au niveau de l'entreprise et je ne peux pas calculer cela aussi. Il y a des tas de raisons pour lesquelles les gens auraient manqué cela. – Herr

-1

Si le pourcentage est nécessaire pour un système de vote alors Andrey Korolev est le seul qui a répondu correctement.

Exemple

10 votes pour une voix contre = 90%
10 votes pour 5 voix contre = 50%
10 votes pour 3 voix contre = 70%
100 voix pour 1 contre = 99 %
1000 votes pour 1 vote contre = 99.9%

1 votes pour 10 voix contre = -90%
5 votes pour 10 voix contre = -50%
3 voix pour 10 voix contre = -70%
1 votes pour 100 vote contre = -99%
1 votes pour 1000 voix contre = -99,9%

function perc(a,b){ 
console.log((a > b) ? (a-b)/a*100 : (b - a)/b*-100); 

}

Questions connexes