Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème avec nbre entier/arrondi

2 réponses
Avatar
Quentin
Bonsoir,
Je rencontre un probl=E9me avec mes calculs:
Calcul=3DChamp2-champ1 en nombre entier, mais
champ1=3D6,236 champ2=3D9,987
Je voudrais arrondir le champ1 =E0 6 (c'est ok) et le champ2=20
=E0 10, mais lorsque je fais Arrond([Champ2]) ou Ent([]), le=20
resultat est 9
Comment r=E9soudre ce petit probleme de calcul
Merci par avance
Quentin F.

2 réponses

Avatar
Eric
Bonsoir Quentin,

Remplaces ta fonction Arrond() par la fonction Round(),
Round() te permet de préciser la décimale à laquelle tu
veux arrondir.
J'ai testé avec tes données et la fonction Round() et j'ai
obtenu
Round([Champ2]) retourne 10
Round([champ1]) renvoie 6 dans une requête.

round([ch2])-round([ch1]) renvoie 4
round([ch2]-[ch1]) aussi avec tes données.

Je pense que le prob est dans le séparateur décimal, je
crois que Arrond qui est une version réduite et francisée
de Round(), s'arrête à la virgule(séparateur décimal en
français vs le point pour le systeme anglo-saxon)et donc
ne tient pas compte des décimales derriere. (mais à
demander confirmation)

Si tu fais le traitement dans un champ calculé de requête,
peu importe si Access ne le traduit pas en Fr, il prend la
fonction round() et fait le traitement

Voila

A+
Eric
-----Message d'origine-----
Bonsoir,
Je rencontre un probléme avec mes calculs:
Calcul=Champ2-champ1 en nombre entier, mais
champ1=6,236 champ2=9,987
Je voudrais arrondir le champ1 à 6 (c'est ok) et le
champ2

à 10, mais lorsque je fais Arrond([Champ2]) ou Ent([]),
le

resultat est 9
Comment résoudre ce petit probleme de calcul
Merci par avance
Quentin F.
.



Avatar
3stone
Salut,

"Quentin"
Je rencontre un probléme avec mes calculs:
Calcul=Champ2-champ1 en nombre entier, mais
champ1=6,236 champ2=9,987
Je voudrais arrondir le champ1 à 6 (c'est ok) et le champ2
à 10, mais lorsque je fais Arrond([Champ2]) ou Ent([]), le
resultat est 9
Comment résoudre ce petit probleme de calcul



Utilise une fonction....

Function fnRound(x)
fnRound = Int( x + 0.5 )
End Function


ou bien, tu fait directement dans ton calcul...

=Int( [champ2] + 0.5 )


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------