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 :

[bash] Arrondir au chiffre impair le plus proche


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de Hamtaroux
    Femme Profil pro
    Doctorante
    Inscrit en
    Juillet 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Doctorante

    Informations forums :
    Inscription : Juillet 2019
    Messages : 23
    Par défaut [bash] Arrondir au chiffre impair le plus proche
    Bonjour,

    je me demandais si vous saviez comment arrondir un chiffre par un chiffre impaire entier le plus proche:

    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    7.48 > 7
    7,99> 7
     
    6.50> 7
    6.10 >7
    6.99 > 7
    je sais arrondir à une valeur prés en faisant en utilisant awk :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    awk ' { print int($1+$2) } ' <<< " chiffre_a_arrondir" "valeurs_prés"
    mais arrondir à l'impaire prés j'avoue ne pas savoir, il faut absolument que mon chiffre de sortie soit un entier impaire


    Merci

  2. #2
    Membre averti Avatar de Hamtaroux
    Femme Profil pro
    Doctorante
    Inscrit en
    Juillet 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Doctorante

    Informations forums :
    Inscription : Juillet 2019
    Messages : 23
    Par défaut
    une idée:


    faire une condition sur la parité du chiffre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    si impaire > chercher la partie entière inférieur 
    si paire > chercher la partie entière inférieure > puis augmenter de 1
    maintenant, je vais chercher comment faire une condition sur la parité avec un script, si quelqu'un sait?

  3. #3
    Membre averti Avatar de Hamtaroux
    Femme Profil pro
    Doctorante
    Inscrit en
    Juillet 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Doctorante

    Informations forums :
    Inscription : Juillet 2019
    Messages : 23
    Par défaut
    j'ai trouvé une commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SI chiffre_a_verifier%2=1 > chiffre impaire
    sinon > chiffre paire

    ou plus clairement,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     if [ chiffre_a_verifier%2 = 1 ] then > CHIFFRE impaire
    else then chiffre paire
    fi
    bon c'est a reformuler mais l'idée est la je pense


    I am talking alone lol

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    bonjour,

    avec une évaluation arithmétique :
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    if (( aVerif%2 == 1 ))

    EDIT: en fait, == 1 n'est pas utile : (( aVerif%2)) est suffisant; car ((0)) retourne faux.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $ cat fichier
    8
    7.48
    7.99
    6.50
    6.10
    6.99
    6
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $ awk '{print $1, 2*int($1/2)+1;}' fichier
    8 9
    7.48 7
    7.99 7
    6.50 7
    6.10 7
    6.99 7
    6 7

  6. #6
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Même principe (division entière, multiplication, incrémentation) avec bc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    a=6.25
    b=$(echo "($a / 2) * 2 + 1" | bc)
    echo "$b"

    (On va dire qu'un entier naturel est naturellement plus proche du suivant que du précédent vu l'effort qu'il a du faire pour arriver à ce qu'il est en partant de zéro.)

Discussions similaires

  1. Trouver le chiffre le plus proche d'un autre
    Par crunchy63 dans le forum Général Python
    Réponses: 3
    Dernier message: 07/02/2013, 22h27
  2. Afficher le chiffre le plus proche de 0
    Par loribac dans le forum Langage
    Réponses: 9
    Dernier message: 17/12/2012, 19h50
  3. [XL-2007] Arrondir au nombre impair le plus proche en se rapprochant de zéro
    Par galouluma dans le forum Excel
    Réponses: 2
    Dernier message: 03/06/2010, 08h21
  4. Arrondir à la cinquantaine la plus proche
    Par vitch8 dans le forum Langage
    Réponses: 9
    Dernier message: 16/04/2009, 14h26
  5. [C#][VS2003] Arrondir un float à l'inférieur le plus proche
    Par gregos dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/11/2005, 12h14

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