Formater un nombre

Soyez le premier à donner votre avis sur cette source.

Snippet vu 17 488 fois - Téléchargée 37 fois

Contenu du snippet

équivalent à la fonction FormatNumber().
But : apprentissage

Source / Exemple :


'PERMET D'ARRONDIR UN CHIFFRE
function arrondi(nombre,nbdecimal)

nombre = replace(nombre,".",",") 'on vérifie qu'il n'y a pas de point à la place des virgules

if nbdecimal = 0 then 'si l'utilisateur ne veut pas du tout de decimal
	arrondi = Cint(nombre)
else
	decimal = 0
	
	'Il faut definir où est la virgule
	for cptrvirg = 1 to Len(nombre)
		if Mid(nombre,cptrvirg,1) = "," then
			placevirgule = cptrvirg
			'la variable decimal contient la partie décimale du nombre
			decimal = Mid(nombre,cptrvirg+1,Len(nombre)-cptrvirg)
			'la variable nombre contient la partie entière du nombre
			nombre = Mid(nombre,1,cptrvirg-1)
		end if
	next
	
	'formatage de la valeur en fonction du nombre de decimal voulus
	Do while Len(decimal) <> Cint(nbdecimal)
		
		if Len(decimal) > Cint(nbdecimal) then	'si le nombre de decimal est trop grand
			agarder = left(decimal,nbdecimal)	'agarder le nombre de decimal voulu
			pourarrondi = Mid(decimal,nbdecimal+1,1)	' pourarrondi conserve en mémoire le chiffre juste après
			
			If pourarrondi > 4 then	'on réalise l'arrondi si nécessaire
				agarder = agarder + 1
			end if
			
			decimal = agarder 
		else
			'si le nombre de decimal est trop petit
			decimal = decimal & "0" ' on ajoute des 0
		end if
	Loop
	
	arrondi = nombre & "," & decimal 'on recrée le nombre
	end if
end function

A voir également

Ajouter un commentaire

Commentaires

cs_fov
Messages postés
3
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
9 février 2004
-
ou si vous cherchez plus simple :
formatnumber(mavaleur)

;)
cs_DreaMs
Messages postés
3
Date d'inscription
samedi 7 décembre 2002
Statut
Membre
Dernière intervention
30 décembre 2003
-
heu je suis + que d'accord avec fov ! de + il se trouve que la fonction ne marche pas très bien lorsque le chiffre est inférieur à 1 !

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.