2 chiffres après la virgule en VB.Net [Fermé]

Signaler
Messages postés
117
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
29 mai 2020
-
Messages postés
2313
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
-
Bonjour,

Comment je peux avoir 2 chiffres après la virgule dans un Label en VB.Net ?

Merci pour votre aide.

A.Hakim


8 réponses

Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 099
Ah oui...
Comme toi, j'ai appris ça à l'école, et c'est pour cette raison que j'ai mis cette remarque.
comment ce fait-il que la fonction renvoi... avec 1 décimale...
Pour 24,15 > 24,2 .. OK
Pour 24,25 > 24,2 .. ?
Pour 24,35 > 24,4 .. OK
Pour 24,45 > 24,4 .. ?
etc..
En fait, quand la décimale précédant la "coupure" est paire il y a une erreur.
Avant de répondre... faut tester.
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
4
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57458 internautes nous ont dit merci ce mois-ci

Messages postés
323
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
28 août 2013
99
La fonction Maths.Round ne "deconne" pas une fois sur 2 car enfait la notion d'arrondi n'est pas la meme en effet nous avons tous apris a l'école :

entre 0 et 4 on arrondi a l'inferieur

entre 5 et 9 on arrondi au supérieur.


Mais la fonction Round utilise un standard notemment utilisé en bancaire pour effectuer ces arrondis elle effectue un arondi ou plus prés et le "probleme" que vous rencontré vient seulement de la façon dont on represente les nombre en informatique
Messages postés
323
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
28 août 2013
99
Bon alors je vais vite mettre les choses aux clairs.

Avant de discuter tu devrais peut etre connaitre comment fonctionne les fonctions du framework.

Ensuite tu n'as peut etre pas remarquer vu que tu ne connait pas les fonctions que la fonction Round accepte plusieurs arguments.

Pourquoi 24.25 = 24.2 tout simplement car tu n'as pas été aux bout de la puissance de la fonction car si tu fais.

Math.Round(24.25,1,MidpointRounding.AwayFromZero)

tu auras 24.25 = 24.3

Je te conseille vivement de lire la documentation du framework elle est tres riche.

Et puis pour que tu comprenne l'autre arrondi lit le standard IEEE 754 tu auras un explication du pourquoi du comment.
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 099
J'ai suivi ton conseil... :-(
Je viens du VB6 où cette option n'existe pas (à ma connaissance) et de ce fait je n'ai pas consulté l'aide du .Net.
Merci de cet éclaircissement.
A+
Messages postés
323
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
28 août 2013
99
Oui un arrondi mets tu as à disposition toute la puissance du framework alors utilise la en faisant.

Maths.Round(Tonnombre,2)
Messages postés
2313
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
174
Si c est juste un affichage partie entière du nombre fois le nombre de decimal ...
Exple
Ent(8.69578*100)/100=8.65
si ( 8.65 / 8.69578 ) <1 alors 8.66 sinon 8.65
Voila un autre arrondi.....
Messages postés
2313
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
174
Un arrondi ???
Sinon dans l'option format de l affichage '##,##' comme sous access NON ?
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 099
Bonjour,
Effectivement la fonction Math.Round peu servir, malheureusement, à l'instar de VB6 elle "déconne" une fois sur deux.

Une fonction qui renvoi la bonne valeur à chaque fois.

A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)