Division euclidien

Résolu/Fermé
medyahye Messages postés 23 Date d'inscription mercredi 1 mai 2013 Statut Membre Dernière intervention 11 février 2014 - 14 juin 2013 à 00:01
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 - 17 juin 2013 à 10:29
Bonjour,
comment calculer une division euclidien dans shell par exemple
22/4 = 5,5

Merci

1 réponse

mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 7 749
Modifié par mamiemando le 14/06/2013 à 01:14
Tu peux passer par bc.
https://stackoverflow.com/questions/12147040/division-in-script-and-floating-point

Par exemple pour avoir 5 chiffres après la virgule :

(mando@silk) (~) $ bc <<< "scale = 5; 22 / 4"
5.50000


Bonne chance
0
medyahye Messages postés 23 Date d'inscription mercredi 1 mai 2013 Statut Membre Dernière intervention 11 février 2014
14 juin 2013 à 01:49
Merci
mais je n arrive pas a inserer cette commande dans ma code en shell (calculatrice)
0
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 7 749
Modifié par mamiemando le 14/06/2013 à 21:07
Si c'est un script bash c'est sans doute que tu as oublié d'utiliser l'opérateur $ (...) :

#!/bin/bash
x=$(bc <<< "scale = 5; 22 / 4")
echo $x


En shell tu peux remplacer $( ... ) par des backquotes (une au début, une à la fin), qui s'obtiennent en faisant "alt gr + 7" puis "espace".

Bonne chance
0
Utilisateur anonyme
14 juin 2013 à 21:31
En shell tu peux remplacer $( ... ) par des backquotes
bash est un shell.
$( ... ) est une notation POSIX.
par contre, <<< ne l'est pas, il faudra faire un echo ;)
0
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 7 749
15 juin 2013 à 10:39
Merci pour les précisions. Voici la syntaxe avec echo :

echo "scale = 5; 22 / 4" | bc
0
medyahye Messages postés 23 Date d'inscription mercredi 1 mai 2013 Statut Membre Dernière intervention 11 février 2014
16 juin 2013 à 00:07
Merci
0