Convertir un nombre sans l'arrondir

cispo Messages postés 103 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 10 septembre 2007 - 27 mars 2006 à 19:29
cispo Messages postés 103 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 10 septembre 2007 - 28 mars 2006 à 00:18
Salut,



Je vous explique mon problème :



Dans une textbox, l'utilisateur doit rentrer un nombre. Quoi que
l'utilisateur saisisse, mon but est de ne prendre que 2 décimales. Pour
cela j'utilise la méthode ToString(".##"). Ca fonctionne bien mais le
problème est que cette méthode fait un arrondi du nombre saisi.

Par exemple, si l'utilisateur saisit 19.459, cette méthode me renvoie
19.46 alors que moi je ne veux garder que les 2 décimales mais sans
faire d'arrondi (soit 19.45).



Existe-t-il un moyen de faire cela simplement ou dois-je développer ma propre méthode ?



Merci d'avance !

4 réponses

julbuttt Messages postés 19 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 19 juin 2006
27 mars 2006 à 21:01
Tu n'as qu' a utiliser la méthode substring(int index, int longueur), la il n'y aura pas d'arrondi
Ex: l'utilisateur saisit 19.459
avec substring(0,5), et tu auras 19.45
avec substring(0,6), et tu auras 19.459
avec substring(0,4) et tu auras 19.4

En esperant avoir répondu!!
0
cispo Messages postés 103 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 10 septembre 2007 3
27 mars 2006 à 21:43
J'y ai bien pensé mais c'est une façon de contourner le problème on va dire :)
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
27 mars 2006 à 22:47
Les données de ta Textbox sont au format
Texte. Donc en utilisant SubString, tu ne contournes pas le problème.
Tu le prends à bras le corps, et tu le résous très bien.

Reste à localiser le séparateur décimal pour être sûr de ne prendre que deux décimales.



positionDuSeparateur = TextBox.Text.IndexOf(".")

MessageBox SubString(0,positionDuSeparateur+2)

Manu
0
cispo Messages postés 103 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 10 septembre 2007 3
28 mars 2006 à 00:18
Oui c'est sur :)



Reste encore à gérer le cas où l'utilisateur saisit un nombre entier mais ça c'est trois fois rien.
0
Rejoignez-nous