Partage
  • Partager sur Facebook
  • Partager sur Twitter

Différence entre FLOAT, DOUBLE et DECIMAL (C#)

    16 août 2017 à 10:19:30

    Bonjour. Je suis complètement débutant en programmation C#. Après avoir suivi le début du cours C# sur ce site, je n'ai toujours pas compris quelle est la différence entre un type FLOAT, DECIMAL et DOUBLE; et je ne sais pas quand les utiliser ni dans quelles circonstances. Pouvez-vous m'aider s'il-vous-plaît ?
    • Partager sur Facebook
    • Partager sur Twitter

    On dit merci qui ? Merci OPENCLASSROOM ^^'

      16 août 2017 à 11:16:14

      La différence c'est le nombre de chiffres significatifs, dans l'ordre croissant : float (7 chiffres), double (15 à 16 chiffres) et decimal (28 à 29 chiffres).

      Pour plus d'info je t'invite à regarder la doc de microsoft :

      https://docs.microsoft.com/fr-fr/dotnet/csharp/language-reference/keywords/float

      https://docs.microsoft.com/fr-fr/dotnet/csharp/language-reference/keywords/double

      https://docs.microsoft.com/fr-fr/dotnet/csharp/language-reference/keywords/decimal

      • Partager sur Facebook
      • Partager sur Twitter
        16 août 2017 à 11:23:29

        Maintenant, les types de variables (float, decimal, double) ont certaines caractéristiques qui étaient plus utiles sur les anciens ordinateurs, avec lesquels la mémoire était très restreinte, et ou on ne pouvait pas ce permettre de la "gaspiller", généralement, on les utilises lors de programme qui doivent fonctionner avec le moins de d'espace sur le disque possible, comme avec l'embarqué par exemple. Mais tu verras, que dans la plupart des cas, on déclare avec int ou var (pour le C# en tout cas). Voilà pour un p'tit complément
        • Partager sur Facebook
        • Partager sur Twitter

        Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

          16 août 2017 à 16:51:05

          Merci beaucoup pour ces précisions. Bonne continuation.
          • Partager sur Facebook
          • Partager sur Twitter

          On dit merci qui ? Merci OPENCLASSROOM ^^'

            16 août 2017 à 19:00:08

            vanaur a écrit:

            Maintenant, les types de variables (float, decimal, double) ont certaines caractéristiques qui étaient plus utiles sur les anciens ordinateurs, avec lesquels la mémoire était très restreinte, et ou on ne pouvait pas ce permettre de la "gaspiller", généralement, on les utilises lors de programme qui doivent fonctionner avec le moins de d'espace sur le disque possible, comme avec l'embarqué par exemple. Mais tu verras, que dans la plupart des cas, on déclare avec int ou var (pour le C# en tout cas). Voilà pour un p'tit complément


            Petites rectifications : ça ne prend pas d'espace sur le disque, mais sur la mémoire RAM et je comprends pas trop pourquoi tu parles de int alors qu’apparemment il cherche à stocker des valeurs "à virgules".
            • Partager sur Facebook
            • Partager sur Twitter
              16 août 2017 à 19:09:03

              Bien plus que la taille, c'est le temps de traitement des opérations sur ces différents types qui les distingues.

              Float = peu précis, peu d'espace en mémoire, vitesse d'opération très rapide

              Double = moyen partout

              Décimal = très précis, beaucoup d'espace en mémoire, vitesse d'opération très très lente.

              • Partager sur Facebook
              • Partager sur Twitter
              Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                16 août 2017 à 20:23:46

                je parlais de int, qui est plus généralement utilisé que les autres types, à virgules ou pas just en comparaison.

                Et voici un lien qui regroupe tout et explique tout super bien

                -
                Edité par vanaur 16 août 2017 à 20:24:05

                • Partager sur Facebook
                • Partager sur Twitter

                Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                  17 août 2017 à 11:14:35

                  Ce qui est vrai pour le C ne l'est pas forcement pour le C#.

                  Les nombres à virgule flottantes sont utile quand on fait des calculs, et si vous faire des résolutions d'équadiff pour de l'aéronautique, vos int, vous les mettez derrière l'oreille.

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                    10 octobre 2022 à 14:46:49

                    bacelar a écrit:

                    Ce qui est vrai pour le C ne l'est pas forcement pour le C#.

                    Les nombres à virgule flottantes sont utile quand on fait des calculs, et si vous faire des résolutions d'équadiff pour de l'aéronautique, vos int, vous les mettez derrière l'oreille.


                    Ah bon? pourtant il n'y a rien de plus précis qu'un résultat en fraction d'entiers (ou avec division modulaire)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      10 octobre 2022 à 15:12:05

                      >un résultat en fraction d'entiers

                      Ok, alors Pi, Racine de 2, les constantes d'Euler etc... c'est quoi leur fraction d'entiers, et on fait quoi avec leur approximation en faction d'entiers ?

                      des cocottes en papier ?

                      Il n'y a pas de solution miracle et il faut correctement gérer les approximations, même avec des fractions d'entier, si c'est votre marotte, mais faites un stock de feuille de papier pour vous mettre aux origamis, parce que vous avez pas fini d'attendre avec vos entiers de longueur arbitraire.

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

                      Différence entre FLOAT, DOUBLE et DECIMAL (C#)

                      × 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