VB.Net Fonction Format en .Net [Résolu]

Messages postés
532
Date d'inscription
lundi 5 juin 2006
Dernière intervention
6 octobre 2012
- 27 août 2008 à 13:54 - Dernière réponse :
Messages postés
532
Date d'inscription
lundi 5 juin 2006
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
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
27 août 2008 à 14:22
3
Merci
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

Merci cs_casy 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de cs_casy
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
27 août 2008 à 14:06
0
Merci
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
Commenter la réponse de cs_casy
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Dernière intervention
14 juillet 2010
27 août 2008 à 14:08
0
Merci
Salut,

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

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

@+
youpi :)
Commenter la réponse de youpiyoyo
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
27 août 2008 à 14:11
0
Merci
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
Commenter la réponse de cs_casy
Messages postés
532
Date d'inscription
lundi 5 juin 2006
Dernière intervention
6 octobre 2012
27 août 2008 à 14:47
0
Merci
merci mille fois
Commenter la réponse de cs_MagDix

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.