[sh] entier ou non?
milie
-
milie -
milie -
Bonsoir à tous,
Je débute dans ce "langage" et j'ai encore beaucoup de chose à apprendre.
Aujourd'hui j'ai un petit probleme, je cherche à faire une fonction qui determine si un parametre est un entier ou non.
Donc je vous explique comment j'ai fais:
J'ai deja une fonction qui me permet de savoir si un nombre est un réel.
Pour ma fonction entier, je l'utilise:
Dans un premier temps je teste si mon argument est reel, si oui alors je modifie IFS = "."
et je test si mon nombre de parametre est plus grand que 1 ( si oui j'affiche erreur).
probleme! si je met entier 5 il me dit que c'est pas un entier... mais je ne comprends pas pourquoi :/
Merci d'avance à ceux qui prendront le temps pour m'aider
Je débute dans ce "langage" et j'ai encore beaucoup de chose à apprendre.
Aujourd'hui j'ai un petit probleme, je cherche à faire une fonction qui determine si un parametre est un entier ou non.
Donc je vous explique comment j'ai fais:
J'ai deja une fonction qui me permet de savoir si un nombre est un réel.
Pour ma fonction entier, je l'utilise:
Dans un premier temps je teste si mon argument est reel, si oui alors je modifie IFS = "."
et je test si mon nombre de parametre est plus grand que 1 ( si oui j'affiche erreur).
probleme! si je met entier 5 il me dit que c'est pas un entier... mais je ne comprends pas pourquoi :/
Merci d'avance à ceux qui prendront le temps pour m'aider
A voir également:
- [sh] entier ou non?
- Les données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif ci-dessous. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. il manque 5 valeurs dans le tableau ci-dessous. retrouvez-les dans votre tableau, puis reportez-les arrondies à l’entier le plus proche. ✓ - Forum Excel
- Comment imprimer un tableau excel en entier - Guide
- Il manque 5 valeurs dans le tableau ci-dessous. retrouvez-les dans votre tableau, puis reportez-les arrondies à l’entier le plus proche. - Guide
- Site pour regarder des film en entier gratuitement sans compte - Forum TV & Vidéo
- Tableaux croisés dynamique ✓ - Forum Excel
param_entier() {
if(param_reel "$1")
then
IFS="."
test $# -eq 2
echo "parametre $1 n'est pas entier"
fi
return 0
}
j'ai egalement essaiyé avec
test $# -gt 1
Peut etre j'ai mal compris comment fonctionné IFS je ne sais pas :(
Voir dans la faq pour tester un entier :
Shell - Tester une variable numérique
param_entier() {
if(param_reel "$1")
then
param="$1"
sauvegarde_IFS="$IFS"
IFS="."
set -- $1
FS="$savegarde_IFS"
test $# -gt 1 && echo "parametre $param n'est pas entier"
fi
return 0
}
ça fonctionne bien mieux ainsi!