Partage
  • Partager sur Facebook
  • Partager sur Twitter

Double qui ne fonctionne pas

Sujet résolu
    19 octobre 2020 à 9:23:18

    Bonjour, 

    Dans le calcul d'une variance, j'essaie d'être assez précis. Je passe donc par un variable "double", pour avoir des nombres à virgules. Sauf que quand je divise un nombre, celui-ci est arrondi à 1 ou à 0. Pouvez-vous m'aider ?

    Merci d'avance !

    • Partager sur Facebook
    • Partager sur Twitter
      19 octobre 2020 à 9:38:51

      Salut,

      Sans code ça va être compliqué de dire ou tu t'es trompé.
      Montre nous ton code pour que l'on puisse t'aider.

      • Partager sur Facebook
      • Partager sur Twitter
        19 octobre 2020 à 9:42:20

        Salut, 

        Oui désolé.

        double somme;
        somme=buffer1[i]/18182

        Quand je fais ça, avec par exemple buffer[1] = 36000, j'ai somme =1. :/

        • Partager sur Facebook
        • Partager sur Twitter
          19 octobre 2020 à 9:45:51

          A vu d'oeil comme ça je pari que buffer est un tableau d'entiers ...

          Et il faut savoir que si tu divise un entier par un entier ça donne ... un entier.

          Pour palier a ce problème il faut qu'un de 2 éléments de ton calcul soit un un float (ou double).
          Tu peux par exemple simplement faire un cast pour forcer le retour a être du même type.

          Si tu divise un entier par un float, ou un float par un entier ca te donnera un float en retour.

          Exemple:

          double somme;
          somme = (float)buffer[i] / 18182;
          
          // Ou Alors
          double somme;
          somme = buffer[i] / 18182.0f;



          • Partager sur Facebook
          • Partager sur Twitter
            19 octobre 2020 à 9:52:01

            Super ! Ca marche ! Merci beaucoup !

            Maintenant j'aimerai afficher ce double, et l'envoyer par Uart, je pensais utiliser le sprintf pour le mettre dans un tableau de caractère mais ça ne fonctionne pas, est ce que tu as une idée de où cela coince ?

            • Partager sur Facebook
            • Partager sur Twitter
              19 octobre 2020 à 13:26:14

              Seul un télépathe peut répondre.
              • Partager sur Facebook
              • Partager sur Twitter
                19 octobre 2020 à 15:39:45

                Valouchs a écrit:

                Maintenant j'aimerai afficher ce double, et l'envoyer par Uart, je pensais utiliser le sprintf pour le mettre dans un tableau de caractère mais ça ne fonctionne pas, est ce que tu as une idée de où cela coince ?

                ironwolf151 a écrit:

                Sans code ça va être compliqué de dire ou tu t'es trompé.

                Montre nous ton code pour que l'on puisse t'aider.





                • Partager sur Facebook
                • Partager sur Twitter

                Double qui ne fonctionne pas

                × 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