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

Eléphant du PHP | 172 Messages

20 nov. 2005, 17:07

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 ?

Mammouth du PHP | 19672 Messages

20 nov. 2005, 17:34

if($valeur < 0)
{
    $valeur = $valeur * -1;
}
;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 172 Messages

20 nov. 2005, 17:49

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 ?

Eléphant du PHP | 172 Messages

20 nov. 2005, 18:02

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:

Mammouth du PHP | 19672 Messages

20 nov. 2005, 18:05

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);
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

20 nov. 2005, 18:05

et ça ? : abs() ;)

Mammouth du PHP | 19672 Messages

20 nov. 2005, 18:11

Ha oui tiens, j'y avais pas pensé, bien vu ouckileou :merci:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 172 Messages

20 nov. 2005, 18:20

Merci beaucoup.

:merci: