FORMATAGE, NOMBRE TYPE FRANCAIS, EN TYPE ANGLAIS.

cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 - 2 déc. 2003 à 10:14
DrJo45 Messages postés 16 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 23 juin 2006 - 11 déc. 2003 à 10:11
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18358-formatage-nombre-type-francais-en-type-anglais

DrJo45 Messages postés 16 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 23 juin 2006
11 déc. 2003 à 10:11
En .Net, je ne sais pas si on peut appeler des API Windows, mais sinon, pour formatter un nombre selon un pays quelconque, il suffit d'utiliser GetNumberFormat :
Private Declare Function GetNumberFormat Lib "kernel32" Alias "GetNumberFormatA" (ByVal Locale As Long, ByVal dwFlags As Long, ByVal lpValue As String, ByVal lpFormat As Long, ByVal lpNumberStr As String, ByVal cchNumber As Long) As Long

Public Function EtrFormatNum(Valeur As Double, LCID As long) As String
'Procédure pour formatter Valeur selon un paramètre régional défini par LCID (1036 pour la france et 2057 pour l'anglais UK par exemple)
Dim lsize As Long, Chaine As String
'défini la taille du buffer de retour nécessaire
lsize = GetNumberFormat(LCID, 0, Trim(Str(Valeur)), 0, "", 0)
If lsize = 0 Then Error 5
'défini un buffer de taille suffisante et formatte
Chaine = String(lsize, 0)
lsize = GetNumberFormat(LCID, 0, Trim(Str(Valeur)), 0, Chaine, lsize)
EtrFormatNum = Left(Chaine, InStr(Chaine & Chr(0), Chr(0)) - 1)
End Function

J'espère que ceci peut vous aider à utiliser les API Windows (elles font plein de choses quand on leur demande gentiment)

DrJoe
cs_tno Messages postés 4 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 23 mai 2004
3 déc. 2003 à 10:26
Avec un antislash (\) avant les virgules...
cs_tno Messages postés 4 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 23 mai 2004
3 déc. 2003 à 10:16
Oups, j'ai oublié les virgules...
myString = format (myNb, "###,###,###,###,###")
cs_tno Messages postés 4 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 23 mai 2004
3 déc. 2003 à 10:07
Et la fonction format ???

myString = format (myNb, "### ### ### ### ###")
cs_azerty25 Messages postés 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 6 mai 2007
2 déc. 2003 à 13:44
Oki ;-)
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
2 déc. 2003 à 13:11
C'est pour dire que tu clique sur le bouton1. Comme quand tu double cliquais dans ta form sur un bouton il t'affichait le code lié à cet évènement, ben là pareil, mais en plus "Orienté Objet". Voila
cs_azerty25 Messages postés 1114 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 6 mai 2007
2 déc. 2003 à 12:37
Salut, je m'y connai pas en .NET et j'aimerai savoir si c'est lui qui ajoute tout seul "ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click" et sa que sa voudrai dire si possible ;-) Mici
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
2 déc. 2003 à 12:09
lol merci ; ))) :D:D
huuuuu21 Messages postés 30 Date d'inscription mercredi 24 septembre 2003 Statut Membre Dernière intervention 8 septembre 2009
2 déc. 2003 à 12:02
Il suffit de demander !!!!! lol
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
2 déc. 2003 à 10:14
Juste 2 remarques : tu aurais pu cocher la case .net en bas de la feuille d'ajout de source histoire qu'on le voit direct que c'est du .net. Et pas besoin de mettre le code généré automatiquement par VB.net. Ca prends trois tonnes de places pour une fonction qui fait 30 liges lignes au final ; ). Sinon, pas encore testé, pas de .Net au boulot.