IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

chiffre après la virgule


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Par défaut chiffre après la virgule
    Bonjour
    Qu'elle est la commande pour limiter a deux chiffres après la virgule ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     let "io_wbsfinal = io_wbstemp / 5"
    let "io_rbsfinal = io_rbstemp / 5"
     
    echo "$io_wbsfinal|'DiskWriteBPS'=$io_wbsfinal 'DiskReadBPS'=$io_rbsfinal"
    j'effectue les deux opération avec let et je fais un écho du résultat mais j'aimerai avoir seulement deux chiffres après la virgule svp

    Merci

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    Bonjour,

    le shell ne gère pas les décimales, il faut en passer par bc :
    Code BASH : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var=$(bc -l <<<"scale=2; 3 / 5")
    echo "$var"
    .60
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre très actif
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Par défaut
    je suis désolé mais je ne comprends pas ton programme

    moi j'ai une valeur du style 27.293838473

    et j'aimerais avoir genre 27.29

  4. #4
    Membre expérimenté Avatar de FRUiT
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2011
    Messages : 83
    Par défaut
    Un peu tiré par les cheveux mais bon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var="27.293838473"
    printf -v var "%.2f" ${var/./,}
    var aura comme valeur 27,29

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    la valeur de quelle variable ?
    peu importe, le shell ne gère pas le calcul des décimales.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre très actif
    Homme Profil pro
    Lille
    Inscrit en
    Février 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lille
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2011
    Messages : 154
    Par défaut
    la méthode de fruit ne marche pas.

    Moi j'ai une valeur que je récupère avec un snmpget donc cette valeur est du style 65.3938839, ensuite je l’affiche avec un echo mais j'aimerai l'afficher sous forme de 65.39

  7. #7
    Membre expérimenté Avatar de FRUiT
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2011
    Messages : 83
    Par défaut
    Comment ça, ça marche pas ? Tu peux être plus précis ?

    Déjà il est écrit en quoi ton script ? Ce serait pas du sh ?

    Voilà qui devrait marcher, même en sh :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    > var=65.3938839
    > printf -v var "%.2f" ${var%.*},${var#*.}
    > echo $var
    65,39
    >

  8. #8
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    si c'est juste pour l'affichage il suffit de couper (méthode portable à tous shell unix)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ~:$ p=26.666666
    ~:$ echo $var | sed "s/\(.*\...\).*/\1"
    26.66
    ~:$ p=123.123
    ~:$ echo $var | sed "s/\(.*\...\).*/\1"
    123.12
    ~:$
    en clair ça fait
    echo $var | substitue tout ce qui est (n caractères.au + de 2 autres) par la même chose - tout ce qui dépasse.

    tu peux pousser le vice jusqu'à tester que ce soient bien des chiffres !
    en remplaçant les point par

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. arrondir un nombre à 2 chiffres après la virgule
    Par El Saigneur dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/02/2005, 08h36
  2. Commande pour afficher des chiffres apres la virgule
    Par manar dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 23/09/2004, 18h28
  3. Chiffres après la virgule figés
    Par bondjames dans le forum Bases de données
    Réponses: 6
    Dernier message: 10/03/2004, 23h09
  4. [MFC] Nombre de chiffres après la virgule
    Par karl3i dans le forum MFC
    Réponses: 3
    Dernier message: 27/01/2004, 13h04
  5. Nb de chiffres après la virgule ?
    Par Thcan dans le forum C
    Réponses: 10
    Dernier message: 17/09/2003, 21h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo