Partage
  • Partager sur Facebook
  • Partager sur Twitter

[VB.NET] arrondir un nombre

    11 août 2011 à 16:13:03

    Bonjour,

    J'aimerais savoir comment fait-on pour arrondir un nombre à 50 au dessus : je m'explique si j'ai 149 je veux obtenir 150, si j'ai 155 je veux obtenir 200

    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      11 août 2011 à 16:18:58

      Je ne pense pas qu'il y ait une fonction qui fasse cela ...

      Le plus simple est encore de faire une boucle qui ajoute 1 au nombre ... si a un moment le modulo de ce nombre par 50 vaut 0 ... le nombre est bon ...

      int i = 23;
      while(i % 50 != 0)
      {
          i++;
      }
      //Ici i sera le premier nombre divisible par 50 sans reste.
      MessageBox.Show(i.ToString());
      
      • Partager sur Facebook
      • Partager sur Twitter
        11 août 2011 à 16:20:26

        ah oui pas bête je testerais ça demain matin

        j'ai trouvé ca

        IIf(((nombre \ 50) = (nombre / 50)), nombre, (Int(nombre / 50) + 1) * 50)
        


        ca marche nickel mais je comprends pas cette partie (((nombre \ 50) = (nombre / 50)) le divisé je sais à quoi ca correspond :) mais le nombre \ 50 alors là ???
        • Partager sur Facebook
        • Partager sur Twitter
          12 août 2011 à 16:04:41

          Il y a une fonction du .NET framework qui permet ça : fabs ou ceil je crois ;)
          Elles permettent d'obtenir le chiffre en bas ou en haut arrondi de ton nombre
          • Partager sur Facebook
          • Partager sur Twitter
          "Il est impossible pour un homme d'apprendre ce qu'il croit déjà connaître"
            12 août 2011 à 16:20:09

            Citation : Chiheb2010

            Il y a une fonction du .NET framework qui permet ça : fabs ou ceil je crois ;)
            Elles permettent d'obtenir le chiffre en bas ou en haut arrondi de ton nombre



            Tu parle probablement de Floor et Ceiling, ce qui ne convient pas à rohart car il arrondi au 50, c'est deux fonctions arrondissent à l'entier le plus près (en haut ou bas, selon la méthode)
            • Partager sur Facebook
            • Partager sur Twitter
              12 août 2011 à 16:25:05

              Ah oui , désolé j'avais la tête ailleurs quand j'ai lu et c'est pas passé :p
              • Partager sur Facebook
              • Partager sur Twitter
              "Il est impossible pour un homme d'apprendre ce qu'il croit déjà connaître"
                12 août 2011 à 16:45:00

                Salut,

                Bah sinon en utilisant Ceiling (exprès pour contredire :D) :

                int n = (Ceiling(i / 50)) * 50

                @+
                • Partager sur Facebook
                • Partager sur Twitter

                [VB.NET] arrondir un nombre

                × 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