PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → arrondi  ????
arrondi ????
Started by clausen, Apr., 24 2006 3:45 PM - 7 replies
Posted on April, 24 2006 - 3:45 PM
Je fait l'opération suivante total=qte*unit
total(numéraire/qte & unit numérique)

l'arrondie est faux par exemple 2003 * .925 me donne 1852.775 et affiche 1852.75 au lieu de 1852.80 comme toutes les machines à calculer.

Une idée pour faire c'ette arrondie.


Salutations
Posted on April, 24 2006 - 4:38 PM
Qte est un entier = 2003
Pxu est un monétaire = 0.925
Pxt est un monétaire
Pxt = arrondi(pxu*qte,2)

"clausen" <clausen@tvs2net.ch> a écrit dans le message de news:
444cb9fb$1@news.pcsoft.fr...


Je fait l'opération suivante total=qte*unit
total(numéraire/qte & unit numérique)

l'arrondie est faux par exemple 2003 * .925 me donne 1852.775 et
affiche 1852.75 au lieu de 1852.80 comme toutes les machines à calculer.

Une idée pour faire c'ette arrondie.


Salutations
Posted on April, 24 2006 - 6:22 PM
"
J'ai exactement le code suivant :


TOTAL=Arrondi((S_PRIX*AR.FACTEUR*S_QTE)/5,2)*5 ET LE RESULTAT ME DONNE

l'arrondie est faux par exemple 2003 * .01 * 92.50 me donne 1852.775 et
affiche 1852.75 au lieu de 1852.80 comme toutes les machines à calculer.


ET SI JE FAIS COMME CA:


TOTAL=Arrondi(S_PRIX*AR.FACTEUR*S_QTE,2) J'AI 1852.77 au lieu de 1852.80





bonne soirée
Posted on April, 24 2006 - 7:49 PM
"Windev forum" <Clausen@tvs2net.ch> writes:

" J'ai exactement le code suivant :


TOTAL=Arrondi((S_PRIX*AR.FACTEUR*S_QTE)/5,2)*5 ET LE RESULTAT ME DONNE

l'arrondie est faux par exemple 2003 * .01 * 92.50 me donne 1852.775
et affiche 1852.75 au lieu de 1852.80 comme toutes les machines à
calculer.


ET SI JE FAIS COMME CA:


TOTAL=Arrondi(S_PRIX*AR.FACTEUR*S_QTE,2) J'AI 1852.77 au lieu de
1852.80


Concernant l'arrondi, si j'utilise les fonctions sous Excel j'ai le
même résultat que sous Windev c-a-d 1852,78




bonne soirée





--
suivre ce lien pour répondre:
http://cerbermail.com/…
Daniel
;-)
Posted on April, 24 2006 - 8:00 PM
Quel type tes variables ?
si c'est du type "reel", remplace par type "monetaire"

"Windev forum" <Clausen@tvs2net.ch> a écrit dans le message de news:
444cd827@news.pcsoft.fr...


"
J'ai exactement le code suivant :


TOTAL=Arrondi((S_PRIX*AR.FACTEUR*S_QTE)/5,2)*5 ET LE RESULTAT ME DONNE

l'arrondie est faux par exemple 2003 * .01 * 92.50 me donne 1852.775 et
affiche 1852.75 au lieu de 1852.80 comme toutes les machines à calculer.


ET SI JE FAIS COMME CA:


TOTAL=Arrondi(S_PRIX*AR.FACTEUR*S_QTE,2) J'AI 1852.77 au lieu de
1852.80





bonne soirée



Posted on April, 24 2006 - 11:13 PM
Salut,

Ma vieille machine à calculer me donne :

3 chiffres après la virgule : 2003 x 0.925 = 1.852,775
2 chiffres après la virgule : 2003 x 0.925 = 1.852,78
1 chiffres après la virgule : 2003 x 0.925 = 1.852.8

elle ne trouve pas 1.852.80 ce qui correspond à un arrondi faux pour deux chiffres aprè la virgule.

en tout état de caus; il faut utiliser des monétaires qui sont plus justes
Pour obtenir un arrondi à deux décimales qui se termine par zéro en deuxième chiffre après la virgule, il faut :
diviser le chiffre initial par 10 : 2003 : 10 = 200,30
le ùultiplier par le coef : 200.3 * 0.925 = 185.28
et multiplier par 10 ! 185.28 x 10 = 1852.80

Et le tour est joué.

Bon Dév

J Heffe
Posted on April, 25 2006 - 1:40 PM
FONCTION fgArrondire(Valeur est un monétaire)

LOCAL
ValeurR est un monétaire


SI (Valeur < 0) ALORS
ValeurR = PartieEntière((Abs(Valeur) + 0.05 / 2) / 0.05) * -0.05
SINON
ValeurR = PartieEntière((Valeur + 0.05 / 2) / 0.05) * 0.05
FIN

RENVOYER ValeurR


BonDev, Phil
Posted on April, 25 2006 - 3:33 PM
"BPHIL" <guest@newsgroup.fr> writes:

FONCTION fgArrondire(Valeur est un monétaire)

LOCAL
ValeurR est un monétaire


SI (Valeur < 0) ALORS
ValeurR = PartieEntière((Abs(Valeur) + 0.05 / 2) / 0.05) *
-0.05
SINON
ValeurR = PartieEntière((Valeur + 0.05 / 2) / 0.05) *
0.05
FIN

RENVOYER ValeurR


BonDev, Phil


Il ne me semble pas que l'arrondi calculer par Windev soit faux.
Tout simplement il existe plusieurs méthodes pour calculer un arrondi
et Windev utilise une d'entre elles.

cf le lien suivant :
http://fr.wikipedia.org/wiki/Arrondi


--
suivre ce lien pour répondre:
http://cerbermail.com/…
Daniel
;-)