Re: Formatter des numériques | Sujet: Re: Formatter des numériques par Totof sur 30/5/2007 22:17:03
Bonjour Romu,
Voici le code qu'il te faut (Fait et testé ce soir ):
chFormat est une chaîne = "-999 999 999.99" //Chaîne utilisée pour le formatage
chChiffreSaisies est une chaîne = "1123456,789423" //Chaîne passée en paramètre
chResultat est une chaîne = ""
i est un entier
eTaille est un entier
eTailleFormat est un entier = Taille(chFormat)
//*** Calcul du nombre de chiffre après la virgule ***//
eNbChiffresApresVirgule est un entier = ChaîneOccurrence( ExtraitChaîne(Remplace(chFormat,",","."), 1, ".",DepuisFin), "9")
bCaractereSeparationUtilise est un booléen = Faux //Permet de savoir si le caractère de séparation a déjà été utilisé
//*** On remplace les espaces saisie dans les chiffres passés en paramètre ***//
chChiffreSaisies = Remplace(chChiffreSaisies," ","")
//*** On remplace une éventuelle virgule dans les chiffres saisies ***//
chChiffreSaisies = Remplace(chChiffreSaisies,",",".")
SI eNbChiffresApresVirgule=0 ALORS
chChiffreSaisies = PartieEntière( Val(chChiffreSaisies) )
SINON
chChiffreSaisies = ExtraitChaîne(chChiffreSaisies, 1, ".") + "." + Gauche(ExtraitChaîne(chChiffreSaisies,2,"."), eNbChiffresApresVirgule)
FIN
eTaille = Taille(chChiffreSaisies)
//*** Parcours de la chaine format depuis la fin de la chaîne ***//
POUR i=eTailleFormat A 1 PAS -1
SI chFormat[[ i ]]="9" ALORS
//*** Si le format correspond à un chiffre on l'ajoute au résultat ****//
chResultat = chChiffreSaisies[[ eTaille ]] + chResultat
eTaille--
SI eTaille=0 ALORS
SORTIR
FIN
SINON
//*** Le caractère a rajouter au résultat n'est pas numérique ***//
chResultat = chFormat[[ i ]] + chResultat
SI (chFormat[[ i ]]="." _OU_ chFormat[[ i ]]=",") _ET_ PAS bCaractereSeparationUtilise ALORS
//*** Si le caractère est un séparateur . ou , ***//
eTaille--
bCaractereSeparationUtilise = Vrai
FIN
FIN
FIN
SI Gauche(chFormat,1)<>"9" ALORS
//*** On rajoute le caractère signe si présent ***//
chResultat = Gauche(chFormat,1) + chResultat
FIN
Info(chResultat)
Bon dév.,
Totof
|
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|