Page 1 sur 1

Enlever le signe moins lorsqu'un résultat est négatif

Posté : 20 nov. 2005, 17:07
par spirou
Salut à tous !!

J'aurais besoin d'un autre petit coup de main :D

En faisant une vulgaire opération, il peut arriver que le résultat de celle-ci soit négatif, donc cela m'afficherait par exemple -2, or je souhaiterais que lorsque le résultat est négatif, le moins n'apparaisse pas (je mettrais le résultat en rouge), donc je pense qu'il faut mettre une condition, ce que je me demande, c'est comment je peut enlever le signe moins du résultat.

Ensuite, étant donné que je dois utiliser souvent ceci, je pense qu'il va falloir que je fasse une fonction afin d'éviter de répéter à chaque fois cette condition, est-ce une bonne solution ?

Posté : 20 nov. 2005, 17:34
par Cyrano
if($valeur < 0)
{
    $valeur = $valeur * -1;
}
;)

Posté : 20 nov. 2005, 17:49
par spirou
Alors là, je n'avais pas pensé à ça, multiplié par un autre négatif, t'es trop fort :o

Je venais juste de trouver la fonction str-replace, mais j'ai un petit problème, c'est que lorsque le résultat est positif, il ne s'affiche pas.

Voilà ce que j'ai fait pour tester :
function sup_moins($aa)
{
	if($aa < 0)
	{
	$ab = str_replace("-", "", $aa);
	return '<span style="color: red">'.$ab.'</span>';
	}
}
$dd = -5;
$de = 5;
echo sup_moins($dd)."<br />";
echo sup_moins($de);
Comme je n'ai aucune connaissance avec les fonctions, est-ce que mettre $aa en paramètre est suffisant ?

Posté : 20 nov. 2005, 18:02
par spirou
Je viens de trouver, il faut mettre un else, mais je vois pas trop pourquoi il est obligatoire vu que la condition n'est pas bonne, il devrait m'afficher le résultat normal.

Merci cyrano.

Je vais utiliser ta méthode qui est bien plus logique.

:wink:

Posté : 20 nov. 2005, 18:05
par Cyrano
Ben met ma proposition dans une fonction:
function inverse_negatif($valeur)
{
    if($valeur < 0)
    {
        $valeur = $valeur * -1;
    }
    return $valeur;
}
Et ensuite, quand tu récupères ta valeur, tu la traites systématiquement avec la fonction:
$dd = -5;
$de = 5;
echo inverse_negatif($dd)."<br />";
echo inverse_negatif($de);

Posté : 20 nov. 2005, 18:05
par ouckileou
et ça ? : abs() ;)

Posté : 20 nov. 2005, 18:11
par Cyrano
Ha oui tiens, j'y avais pas pensé, bien vu ouckileou :merci:

Posté : 20 nov. 2005, 18:20
par spirou
Merci beaucoup.

:merci: