ARRONDIR UN NOMBRE A 2 CHIFFRES APRES LA VIRGULE

koubihack - 2 avril 2001 à 09:36
hamza207 Messages postés 4 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 18 janvier 2011 - 18 févr. 2010 à 16:24
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/150-arrondir-un-nombre-a-2-chiffres-apres-la-virgule

hamza207 Messages postés 4 Date d'inscription dimanche 15 février 2009 Statut Membre Dernière intervention 18 janvier 2011
18 févr. 2010 à 16:24
merci bcq Formatnumber ca marche tres bien merci
cs_sylvain50 Messages postés 2 Date d'inscription lundi 7 mai 2007 Statut Membre Dernière intervention 4 août 2007
4 août 2007 à 19:50
C'a y est j'ai trouvé
C'est ma base sql express 2005
j'avais oublié de lui dire combien de chiffres après la virgule dans la zone echelle du champ

Merci
cs_sylvain50 Messages postés 2 Date d'inscription lundi 7 mai 2007 Statut Membre Dernière intervention 4 août 2007
4 août 2007 à 13:17
Bonjour
je fais un petit prog sous visual studio 2005 en vb
j'ai un petit souci j'utilise val pour faire des calculs dans des textboxs
donc j'ai 5 texboxs ou l'on rentre des nombres soit decimales ou soit entiers et un texbox qui additionne tout les nombres des texbox et qui divise par le nombre de textbox jusque la tous va bien
Le souci c'est dès que j'enregistre le résultatdans ma base de données sql il arrondit automatiquement au nombre entier supérieure
ah oui j'oublié les texboxs sont reliés à un datagrideview

Private Sub EleveMoyenne()
Dim nb As Double
nb = 0
Eleve_Moyenne1TextBox.Text = ""
If Eleve_Note1TextBox.Text <> "" Then
Eleve_Moyenne1TextBox.Text = Val(Eleve_Moyenne1TextBox.Text) + (Eleve_Note1TextBox.Text)
nb = nb + 1
End If
If Eleve_Note2TextBox.Text <> "" Then
Eleve_Moyenne1TextBox.Text = Val(Eleve_Moyenne1TextBox.Text) + (Eleve_Note2TextBox.Text)
nb = nb + 1
End If
If Eleve_Note3TextBox.Text <> "" Then
Eleve_Moyenne1TextBox.Text = Val(Eleve_Moyenne1TextBox.Text) + (Eleve_Note3TextBox.Text)
nb = nb + 1
End If
If Eleve_Note4TextBox.Text <> "" Then
Eleve_Moyenne1TextBox.Text = Val(Eleve_Moyenne1TextBox.Text) + (Eleve_Note4TextBox.Text)
nb = nb + 1
End If
If Eleve_Note5TextBox.Text <> "" Then
Eleve_Moyenne1TextBox.Text = Val(Eleve_Moyenne1TextBox.Text) + (Eleve_Note5TextBox.Text)
nb = nb + 1
End If
If nb <> 0 Then
Eleve_Moyenne1TextBox.Text = Val(Eleve_Moyenne1TextBox.Text / nb)
End If
End Sub
puis dans chaque controle textbox
j'appele
Private Sub Eleve_Note1TextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Eleve_Note1TextBox.TextChanged
EleveMoyenne()
End Sub

Merci pour votre aide
cs_solos Messages postés 5 Date d'inscription jeudi 22 juin 2006 Statut Membre Dernière intervention 30 décembre 2010
22 sept. 2006 à 16:51
Pour obtenir la partie entiere d'un nombre, le plus simple c'est d'utiliser la fonction VB Int.

exemple:
Dim N
N = 2.35
Int(N) donne 2

Thks
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
14 juin 2006 à 14:53
Val ( 2.15 ) renvoie 2.15, Tariko20, pas 3...

tu peux utiliser

Public Function RoundUp(ByVal vnValue As Double) As Double
RoundUp = (vnValue + 0.5) \ 1
End Function
tariko20 Messages postés 1 Date d'inscription dimanche 19 février 2006 Statut Membre Dernière intervention 14 juin 2006
14 juin 2006 à 14:05
bonjour affoufa
c simple tu n'as qu'utilisé la fonction val et tu aura juste la pertie entière de ton nombre!!!
cs_Affoufa Messages postés 36 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 20 décembre 2006
5 juin 2006 à 13:17
bonjour,
merci ca marche bien pour le nombre de chiffre apres la virgule mais moi je veux prendre juste les chiffres avant la virgule et le reste non ou bien y a t il une fonction qui me donne le max d'une valeur par exple 2.15 je veux 3
@+
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
8 déc. 2005 à 10:55
Round sert a arrondir un chiffre, a utiliser dans des calculs

FormatNumber est a favoriser pour formater un chiffre, dans le dessein de l'afficher a l'utilisateur...
Il prend en effet en compte les parametres regionnaux :
- Separateur décimal
- Separateur des milliers
et il donne la possibilité d'utiliser des parentheses, pour indiquer qu'un chiffre est negatif (on s'en sers dans la finance, nottament...)
Habib13520 Messages postés 11 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 14 novembre 2012 2
27 juin 2005 à 14:02
Je pense comme KOUBIHACK "ROUND" est bien
il faut l'utiliser pour assurer votre calcul
li9 Messages postés 57 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 septembre 2008 1
7 mars 2004 à 07:00
Parfait,
FormatNumber marche aussi avec VB.NET
exactement la même synthaxe

(etonnant)
pour ca tu as aussi "ROUND" qui est bien.
text1.text = 1123.123456789
text2.text = Round(text1.text, 2)

le 2 est le nombre de chiffre que l'on veut que l'ordi laisse ou arrondisse
voila @+