FORMATAGE, NOMBRE TYPE FRANCAIS, EN TYPE ANGLAIS.

Signaler
Messages postés
488
Date d'inscription
lundi 15 septembre 2003
Statut
Membre
Dernière intervention
21 avril 2009
-
Messages postés
16
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
23 juin 2006
-
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

Messages postés
16
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
23 juin 2006

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
Messages postés
4
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
23 mai 2004

Avec un antislash (\) avant les virgules...
Messages postés
4
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
23 mai 2004

Oups, j'ai oublié les virgules...
myString = format (myNb, "###,###,###,###,###")
Messages postés
4
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
23 mai 2004

Et la fonction format ???

myString = format (myNb, "### ### ### ### ###")
Afficher les 10 commentaires