2 chiffres après la virgule en VB.Net [Fermé]
Signaler
hakim_fth
Fallentree
- Messages postés
- 117
- Date d'inscription
- samedi 21 juin 2008
- Statut
- Membre
- Dernière intervention
- 29 mai 2020
Fallentree
- Messages postés
- 2295
- Date d'inscription
- mercredi 25 février 2009
- Statut
- Membre
- Dernière intervention
- 22 juillet 2019
A voir également:
- Vb.net arrondir 2 chiffres après la virgule
- Php 2 chiffres après la virgule - Meilleures réponses
- Js arrondi 2 décimales - Meilleures réponses
- 2 chiffres après la virgule en VB.Net - Forum - Framework .NET
- [VB.NET] Arrondi 2 décimales ✓ - Forum - Framework .NET
- Javascript arrondir 2 chiffres après la virgule ✓ - Forum - Javascript
- Javascript arrondi 2 chiffre apres la virgule ✓ - Forum - Javascript
- Arrondir 2 chiffres après la virgule ✓ - Forum - PHP
8 réponses
lermite222
- Messages postés
- 8700
- Date d'inscription
- dimanche 8 avril 2007
- Statut
- Contributeur
- Dernière intervention
- 22 janvier 2020
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)
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)
Nico#
- Messages postés
- 323
- Date d'inscription
- vendredi 4 janvier 2008
- Statut
- Membre
- Dernière intervention
- 28 août 2013
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
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
Nico#
- Messages postés
- 323
- Date d'inscription
- vendredi 4 janvier 2008
- Statut
- Membre
- Dernière intervention
- 28 août 2013
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.
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.
lermite222
- Messages postés
- 8700
- Date d'inscription
- dimanche 8 avril 2007
- Statut
- Contributeur
- Dernière intervention
- 22 janvier 2020
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+
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+
Nico#
- Messages postés
- 323
- Date d'inscription
- vendredi 4 janvier 2008
- Statut
- Membre
- Dernière intervention
- 28 août 2013
Oui un arrondi mets tu as à disposition toute la puissance du framework alors utilise la en faisant.
Maths.Round(Tonnombre,2)
Maths.Round(Tonnombre,2)
Fallentree
- Messages postés
- 2295
- Date d'inscription
- mercredi 25 février 2009
- Statut
- Membre
- Dernière intervention
- 22 juillet 2019
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.....
Exple
Ent(8.69578*100)/100=8.65
si ( 8.65 / 8.69578 ) <1 alors 8.66 sinon 8.65
Voila un autre arrondi.....
Fallentree
- Messages postés
- 2295
- Date d'inscription
- mercredi 25 février 2009
- Statut
- Membre
- Dernière intervention
- 22 juillet 2019
Un arrondi ???
Sinon dans l'option format de l affichage '##,##' comme sous access NON ?
Sinon dans l'option format de l affichage '##,##' comme sous access NON ?
lermite222
- Messages postés
- 8700
- Date d'inscription
- dimanche 8 avril 2007
- Statut
- Contributeur
- Dernière intervention
- 22 janvier 2020
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)
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)