TiteCheyenne
Messages postés5Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention21 novembre 2004
-
19 nov. 2004 à 22:43
TiteCheyenne
Messages postés5Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention21 novembre 2004
-
21 nov. 2004 à 21:04
Bonjour,
Un truc qui me titille... j'ai besoin de vos lumières et de vos avis
Je cherchais à récupérer des nombres arrondis à 2 chiffres après la virgule.
Dans un premier temps, j'ai écris ceci :
If (nbre * 100) - Int(nbre * 100) >= 0.5 Then
arrondi = (Int(nbre * 100) / 100) + 0.01
Else
arrondi = Int(nbre * 100) / 100
End If
Seulement voilà, quand je lui envoyais par exemple le nombre 25.36, il me renvoyait quelque chose comme 25.3600001...
En fait, j'ai suivi le code et c'est parce que pour lui int(25.36*100)=2535 (pourquoi ? si quelqu'un sait je serai ravie de le savoir !)
Bon, toujours est il, que j'avais des erreurs. Et puis j'ai écrit celui là :
Dim num As Integer
num = nbre * 100
If (nbre * 100) - Int(num) >= 0.5 Then
arrondi = (Int(num) / 100) + 0.01
Else
arrondi = Int(num) / 100
End If
Pour tout dire, il ne rentre jamais dans le if donc je pourrai me contenter de la partie après le "else"...
Mais moi je trouve que c'est trop facile, vu comme ça... et je dois avoir oublié quelque chose quelque part... mais quoi ?
thierrydelepine
Messages postés521Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention11 septembre 20086 19 nov. 2004 à 22:58
y'a beaucoup plus simple et reposant pour les neurones
MsgBox Round(25.36, 2) 'ca donne 25.36
Description
Renvoie un nombre arrondi à un nombre spécifié de positions décimales.
Syntaxe
Round(expression [,numdecimalplaces])
La syntaxe de la fonction Round comprend les éléments suivants :
Élément Description
expression Expression numérique arrondie.
numdecimalplaces Facultatif. Nombre indiquant combien de positions à droite de la virgule sont incluses dans le nombre arrondi. Si cette valeur est omise, les entiers sont arrondis par la fonction Round.
TiteCheyenne
Messages postés5Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention21 novembre 2004 19 nov. 2004 à 23:19
D'abord merci de me répondre aussi rapidement, c'est vraiment gentil.
je suis d'accord avec toi pour n=25.361245
le problème est que si tu envois n=25.36 (deux décimales seulement) et bien ça plante sec !
Vous n’avez pas trouvé la réponse que vous recherchez ?
TiteCheyenne
Messages postés5Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention21 novembre 2004 20 nov. 2004 à 08:56
Oui, je sais bien que la calculatrice le fait très bien...,d'où mon étonnement quand je fais tourner mon code et que je me retrouve avec 2535... Et je suppose que l'explication de Daniel est correcte à ce sujet (stockage des données)
Pour ce qui est de la méthode format, le problème c'est que je ne veux pas seulement "voir un nombre à deux décimales" mais que je veux conserver un nombre à deux décimales, parce que après je faits plusieurs calculs ...