A voir également:
- Nombre reel sous unix
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Maps satellite en temps réel - Guide
- Regle reel sur telephone - Guide
- Google maps trafic en temps réel - Guide
6 réponses
Salut,
Il serait possible d'avoire des précisions ?
Dans quel contexte veux tu afficher un nombre réél ?
Par ce que je peux bien te dire d'ouvrir une console et de taper:
echo "2.5"
Mais je doute que ce soit ce que tu attends :)
@+
Il serait possible d'avoire des précisions ?
Dans quel contexte veux tu afficher un nombre réél ?
Par ce que je peux bien te dire d'ouvrir une console et de taper:
echo "2.5"
Mais je doute que ce soit ce que tu attends :)
@+
♫ Il suffirait de presque rien...
g une variable toto=1.23
je pensais à un truc du genre :
echo $toto | grep ^[0-9]...
si il me sors un vide, c'est que c bon...s'il reste des lettres...alors c que c pas bon...
tu vois ?
je pensais à un truc du genre :
echo $toto | grep ^[0-9]...
si il me sors un vide, c'est que c bon...s'il reste des lettres...alors c que c pas bon...
tu vois ?
Arf oki... je vois. :)
Ben t'es sur la bonne piste!
Sauf que grep analyse des "lignes", ce qui veut dire que soit la ligne corresspond et il l'affiche, soit elle ne correspond pas et il ne l'affiche pas, tu ne pourra pas avec grep sortir ce qu'il y a en trop dans la ligne.
Si c'est juste le fait de verifier qui t'interresse, c'est pas compliqué!
le echo $toto tu gardes.
L'expression reguliere pour un entier, c'est:
Donc:
A ce niveau là, si le chiffre est renvoyé, c'est que c'est un réél. Si tu preferes avoir l'invers, l'option -v de grep s'en chargera.
Maintenant, si tu te moques d'avoir le chiffre affiché ou pas, mais que tu veux juste savoir ce qu'il en est, il faut juste renvoyer la sortie de grep, vers rien du tout >/dev/null puis afficherdeux chose diferretne en fonction du resultat de la commande :)
Ce qui donne au final:
Voilà, ça devrait te donner le réusltat attendu!
Par contre, l'expression reguliere, n'es pas parfaite, loin de là (si toto=.) toto est consideré comme un réél, mais tu as assez d'aide dans les manuel de grep et regexp pour trouver comment parrer a ça!:)
@++
Ben t'es sur la bonne piste!
Sauf que grep analyse des "lignes", ce qui veut dire que soit la ligne corresspond et il l'affiche, soit elle ne correspond pas et il ne l'affiche pas, tu ne pourra pas avec grep sortir ce qu'il y a en trop dans la ligne.
Si c'est juste le fait de verifier qui t'interresse, c'est pas compliqué!
le echo $toto tu gardes.
L'expression reguliere pour un entier, c'est:
^[0-9]*\.[0-9]*$commence par un ou plusieurs chiffres, ensuite un point '.' ensuite 0 ou plusieur chiffre puis la fin de la ligne.
Donc:
echo $toto | grep ^[0-9]*\.[0-9]*$
A ce niveau là, si le chiffre est renvoyé, c'est que c'est un réél. Si tu preferes avoir l'invers, l'option -v de grep s'en chargera.
Maintenant, si tu te moques d'avoir le chiffre affiché ou pas, mais que tu veux juste savoir ce qu'il en est, il faut juste renvoyer la sortie de grep, vers rien du tout >/dev/null puis afficherdeux chose diferretne en fonction du resultat de la commande :)
Ce qui donne au final:
echo $toto| grep ^[0-9]*\.[0-9]*$ >/dev/null&& echo "ok" \ || echo "pas ok"
Voilà, ça devrait te donner le réusltat attendu!
Par contre, l'expression reguliere, n'es pas parfaite, loin de là (si toto=.) toto est consideré comme un réél, mais tu as assez d'aide dans les manuel de grep et regexp pour trouver comment parrer a ça!:)
@++
♫ Il suffirait de presque rien...
salut, je pense que cette expression réguliére devrait suffire :
tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
^[0-9]*\.[0-9]+$car + indique l'existence au moins.
tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon en fait:
Voilà comment tourner le grep pour avoir exactement ce qu'il faut :)
l'option -E est la pour pour dire que l'expression reguliere doit-être interprétée comme une expression réguliere étendue.
donc la le pattern match tout ce qui commence par zero ou plusieur digits, eventuellement suivi d'un point si ce point est suivi de 1 ou plusieur digits :o)
Pour le détail, l'experssion est compsée de 2 parties separées par un pipe (|) pour ne pas que ce soit ok si toto est vide.
@+
grep -E ^\.{1}[0-9]+$\|^[0-9]+(\.{1}[0-9]+)?$
Voilà comment tourner le grep pour avoir exactement ce qu'il faut :)
l'option -E est la pour pour dire que l'expression reguliere doit-être interprétée comme une expression réguliere étendue.
donc la le pattern match tout ce qui commence par zero ou plusieur digits, eventuellement suivi d'un point si ce point est suivi de 1 ou plusieur digits :o)
Pour le détail, l'experssion est compsée de 2 parties separées par un pipe (|) pour ne pas que ce soit ok si toto est vide.
@+
♫ Il suffirait de presque rien...