VB.Net Fonction Format en .Net

Résolu
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 27 août 2008 à 13:54
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 27 août 2008 à 14:47
Bonjour


J'ai un problème avec la fonction Format.


J'utilisais cette ligne de code en VB6 et tout était OK


Si textbox.Text = 36275127




Dim Variable As String
Variable = Format$(textbox, "@@_@@@_@@@")


Variable = 36_275_127


en .Net si je ne mets pas de .text à textbox ca fonctionne pas et si je fais un truc du genre


Dim Variable As String
Variable = Format$(textbox.Text, "@@_@@@_@@@")


Variable = @@_@@@_@@@


Où est mon erreur


merci de votre aide
A voir également:

6 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
27 août 2008 à 14:22
Reprenons donc :

Vives les spécificités du formatage de chaines de caractères.

Soit donc tu utilise la méthode Format de la classe String, dans ce cas pour formater ton texte qui représente un nombre, il faut d'abords le reconvertir en nombre (à condition que ton texte soit bien interprétable comme un nombre) :

    variable = String.Format("{0:#_###_###}", CType(TextBox1.Text, Long))

Soit tu le traite comme une chaine de caractère. Dans ce cas, peut importe ce qu'il y a dans le texte, puisqu'il va falloir passer caractère par caractère et chaque groupe de 3 caractères rajouter un _.

S'il y a une autre solution plus éléguante, elle ne me vient pas sur le moment

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
27 août 2008 à 14:06
Format$ est un ancêtre venant de VB6 et ne devrait plus etre utiliser en .Net en dehors d'un code issu de l'assistant du conversion de code VB6.

En .Net, il faut utiliser les méthodes de la classe String et notamment la méthode Format :

Variable = String.Format("#_###_###",textbox.text)
 
---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010
27 août 2008 à 14:08
Salut,

tu as essayer un truc de ce genre: Format(36275127, "##_###_###")

@+
youpi :)
youpiyoyo Messages postés 539 Date d'inscription vendredi 6 juin 2003 Statut Membre Dernière intervention 14 juillet 2010
27 août 2008 à 14:09
oups casy a été plus rapide que moi, j'étais entrein d'ecire le post.

@+
youpi :)

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
27 août 2008 à 14:11
Non mais ma réponse n'est pas complete et fausse.

Elle a été valider trop vite par une appli qui tourne en tache de fond et qui m'a planté la bécane

La bonne réponse arrive sous peu

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
27 août 2008 à 14:47
merci mille fois
Rejoignez-nous