exile a écrit :
Bonjour,
Existe t-il une commande sous unix qui permet de convertir un nombre négatif en positif ?
J'ai fait un script dans lequel je voudrais que si l'utilisateur rentre un nombre négatif en argument je le convertisse en positif.
Merci pour vos aides
Cordialement Exile
|
Un nombre négatif est un nombre commençant par "-"
if test "`echo $1 |cut -c1`" = "-"
then
# Nombre négatif - On supprime ce "_"
nb=-$1
else
# Nombre positif
nb=$1
fi |
Et ce petit script permet de vérifier que ton argument $1 est bien un nombre (une chaîne pouvant commencer par "-", puis suivie de chiffres contenant éventuellement un "." )
# Suppression de chaque chiffre, du premier "." et du signe "-" s'il est en début de nombre
nb=`echo $1 |sed –e "s/[0-9]//g" –e "s/\.//" –e "s/^-//"`
# Si le résultat est vide, c'est que $1 était un nombre correct
test –z "$nb" && echo "L'argument $1 est un nombre" || echo "L'argument $1 n'est pas un nombre" |
Message édité par Sve@r le 02-03-2007 à 21:18:34
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.