VB.Net Fonction Format en .Net

Résolu
cs_MagDix
Messages postés
532
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
532
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

6 réponses

cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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
3
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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
0
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 :)
0
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 :)
0

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
41
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
0
cs_MagDix
Messages postés
532
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
0