Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de précision

Sujet résolu
    10 octobre 2006 à 20:55:09

    Bonjour !

    Ce que je vous demande ne me pose pas de problème , mais je prefererai regler cet inconvénient .

    Je bosse sur un convertisseur de devises et de grandeur en mode console .

    Mais il est trop précis !

    Je m'explique : il me mets des tonnes de 0 après le . .

    Vous sauriez comment faire pour limiter le nombre de chiffres significatifs à 3 ?

    Merci d'avance !

    Cordialement , Arvel


    • Partager sur Facebook
    • Partager sur Twitter
      10 octobre 2006 à 21:01:31

      Citation : Arvel


      Ce que je vous demande ne me pose pas de problème , mais je prefererai regler cet inconvénient .

      Je bosse sur un convertisseur de devises et de grandeur en mode console .

      Mais il est trop précis !

      Je m'explique : il me mets des tonnes de 0 après le . .

      Vous sauriez comment faire pour limiter le nombre de chiffres significatifs à 3 ?


      C'est indiqué dans ton livre de C ou dans n'importe quelle page d'information sur *printf() qui se respecte.

      avec *printf(), utiliser le formatteur "%.<n>f" avec <n> = nombre de décimales après la virgule.
      • Partager sur Facebook
      • Partager sur Twitter
      Music only !
        11 octobre 2006 à 14:20:07

        Je n'ai pas de livre de C , j'apprends avec les cours de Mateo !

        Merci quand meme , mais si tu pouvais etre plus explicite parce que je pige pas la .

        Merci d'avance .
        • Partager sur Facebook
        • Partager sur Twitter
          11 octobre 2006 à 15:38:12

          De façon générique :
          Soit le nombre x.
          Soit n le nombre de chiffres après la virgule que l'on veut afficher.

          Alors %nf représente dans printf() l'écriture de x avec n chiffres après la virgule.


          par exemple :
          float x = 17.1567000000 ;
          printf("x = %.4f", x);


          La console affichera "17.1567" alors que sans le 4 dans %.4f elle aurait affiché la valeur de x avec des zéros derrière.

          EDIT : correction.
          • Partager sur Facebook
          • Partager sur Twitter
            11 octobre 2006 à 15:46:20

            houla, petit rajout au code d'Oragon qui comporte un oubli :

            float x = 17.1567000000 ;
            printf("x = %4f", x);


            il manque un argument à printf : la variable à afficher

            voila, c'est pas plus compliqué que ca
            • Partager sur Facebook
            • Partager sur Twitter
              11 octobre 2006 à 17:14:57

                                    printf("%2f livres sterling equivalent a %2feuros \n", euros,livresterling );


              Il ca m'affiche 1.00000 € et 0.67000000000 livres .


              J'ai du me tromper
              • Partager sur Facebook
              • Partager sur Twitter
                11 octobre 2006 à 17:40:36

                en effet, erreur d'inatention de ma part, il manque un point après me %, la bonne syntaxe est :

                printf("x = %.4f", x);
                • Partager sur Facebook
                • Partager sur Twitter
                  12 octobre 2006 à 21:54:00

                  Je m'excue aussi pour les miennes ^^ merci de m'avoir repris Dark_ouindu.
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Problème de précision

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown