Bonjour,
Depuis quelques temps déjà, je remarque que la somme de mes nombres à 2 décimaux est fausse (pas toujours mais souvent), le problème c'est que
1. quand je saisis par exemple 226.24 dans un string, au moment où je l'affiche dans un grid (listicongadget), le nombre affiché sera: 226.23 et non pas 226.24
2. Même quand la grille est bien remplie, la somme des nombres n'est pas correcte (il y a toujours 1 centime de plus ou de moins). La somme des nombres est affichée en bas après le grid dans un string.
Il faut savoir au fait que ces nombres sont des montants qui sont enregistrés dans un fichier (sqlite), le nom du champ est MntDebit, le type du champ est FLOAT (il était REEL mais à cause de ce problème, j'ai changé le type), mais le problème persiste. Finalement, en résumé, voici ce que je veux savoir:
Existe t -il une méthode plus simple me permettant de ne garder dans le fichier que le nombre à 2 décimaux et quand je fais les totaux, il ne prendra que les 2 décimaux en compte (le float en prend plusieurs): Voici enfin le code de calcul:
Wsql="SELECT SUM(MntDebit) FROM MaTable"
CheckDataBaseQuery(Wsql,0)
if nextDataBaseRow(0)
Wmnt.f=getdatabaseFloat (0,0)
endif
(J'ai aussi essayé Wmnt$=getdatabaseString (0,0) )
Dans les deux cas, ça marche, le total est fait mais toujours le problème de centime (1 centime de plus ou de moins).
Je veux que les montants affichés sur le grid donnent un total exact (en tenant compte des deux décimaux).
exemple:
sur la grille (c'est le contenu de la table aussi) j'ai:
en 1ère ligne : 22.24
en 2ème ligne: 10.15
sur le string (Total) j'obtiens: 32.40 alors que normalement je devais obtenir
32.39
Merci de votre aide
Fadila
Partager