PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Arrondi des centimes
Arrondi des centimes
Débuté par SG, 17 juin 2005 18:59 - 5 réponses
Posté le 17 juin 2005 - 18:59
Pour un logiciel de gestion commerciale, je développe une interface avec une comptabilité. Or, entre les montants du débit et du crédit, j'ai toujours un écart de 1 centime. C'est souvent à cause d'un problème d'arrondi.

Est ce que quelqu'un a déjà eu le même problème ? quelle en serait la solution ?

Merci.
Posté le 17 juin 2005 - 19:26
J'ai développé des interfaces comptables et Je vous conseille de faire,
pour le montant de la TVA, Prix TTC moins Prix HT.

Compte Client : Montant TTC
Compte Article 1 : Montant HT article 1
Compte Article 2 : Montant HT article 2
Compte Article 3 : Montant HT article 3
Compte TVA : Montant TTC - (Montant HT article 1 + Montant HT article 2
+ Montant HT article 3)


SG a écrit :
Pour un logiciel de gestion commerciale, je développe une interface avec une comptabilité. Or, entre les montants du débit et du crédit, j'ai toujours un écart de 1 centime. C'est souvent à cause d'un problème d'arrondi.

Est ce que quelqu'un a déjà eu le même problème ? quelle en serait la solution ?

Merci.
Posté le 17 juin 2005 - 22:53
slt, je suis aussi un developpeur windev, j'ai le même prob, est ce qu'il y a une solution et merci.
Posté le 17 juin 2005 - 22:53
slt, je suis aussi un developpeur windev, j'ai le même prob, est ce qu'il y a une solution et merci.
Posté le 19 juin 2005 - 15:23
Pour ma part j'utilise cette procédure....



PROCEDURE NombreArrondi(VNombre)

Vdecimal est un real=PartieDécimale(Arrondi(VNombre,2))
Vdec1 est une chaîne=Droite(NumériqueVersChaîne(Vdecimal),1)
Vdec2 est une chaîne=Milieu(NumériqueVersChaîne(Vdecimal),3,1)
Vreal est un real=0

SELON Vdec1

CAS "0"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1))
CAS "1"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)-0.01)
CAS "2"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)-0.02)
CAS "3"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)+0.02)
CAS "4"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)+0.01)
CAS "5"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1))
CAS "6"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)-0.01)
CAS "7"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)+0.03)
CAS "8"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)+0.02)
CAS "9"
Vreal=PartieEntière(VNombre)+(Val("0."+Vdec2+Vdec1)+0.01)
FIN

RENVOYER Vreal
Posté le 20 juin 2005 - 04:42
Salut,
J'avai le même problème et j'ai opté à une solution plus proche de la réponce précédente d'abord il faut demander à l'opérateur de choisir soit de saisir en HT ou en TTC s'il choisi de saisir en HT par exemple : pour toutes les saisies des articles dans la table de la pièce en question arrodir à 2 après la vérgule les montant HT et à la fin de la saisie pour le total de la pièce HT égale la somme des HT la TVA égale la somme des TVA de chaque ligne calculée déjà à base de HT puis le TTC est calculé par addition de HT et la TVA dans le cas de la saisie en TTC l' HT est calculé par différence de TTC et TVA.

Bon dev .