[VB6] Arrondi tout seul ?!

Arrondi tout seul ?! [VB6] - VB/VBA/VBS - Programmation

Marsh Posté le 01-06-2006 à 11:58:56    

Bonjour, je rencontre un problème bizarre dans la conception d'un facturier.
Je fais le produit de deux listes qui contiennent la quantité et le prix des produits.
Le total me donne un nombre qui est arrondi automatiquement, sans virgule.
 
Mes variables sont désignées en Integer, je pense que c'est le problème.
Etant débutant, je ne sais pas comment le régler.
 
Merci pour votre aide...
Voici le code :
 

Citation :


Dim i As Integer
Dim total As Integer
Dim totalQu As Integer
Dim temp As Integer
 
For i = 0 To List2.ListCount
    temp = Val(List2.List(i)) * Val(List3.List(i))
    total = total + temp
    totalQu = totalQu + Val(List3.List(i))
Next
txtTotal.Text = Val(total)
txtTotalQuantite.Text = totalQu

Reply

Marsh Posté le 01-06-2006 à 11:58:56   

Reply

Marsh Posté le 01-06-2006 à 13:37:00    

Décidemment c'est la journée des problèmes de typage.
Quand une variable est déclarée de type entier (Integer ou Long) elle ne peut stocker que des valeurs entières.
Si tu veux stocker des nombres décimaux il faut utiliser Single ou Double.

Reply

Marsh Posté le 01-06-2006 à 13:41:20    

celle là, je l'avais jamais vue encore :D

Reply

Marsh Posté le 01-06-2006 à 20:35:03    

Merci beaucoup, ça fonctionne sans problème. Je savais que c'était pas la bonne déclaration, mais je suis un novice et je ne les connais pas toutes encore :jap:
 
Quelle est la différence entre Single et Double ?
 

Citation :

celle là, je l'avais jamais vue encore :D


On commence tous par quelque part. Tu m'excuseras si je n'ai eu que 2 jours de cours de VB, que j'aime ça, et que j'essais d'apprendre le reste seul.


Message édité par elliotdoe le 01-06-2006 à 20:35:33
Reply

Marsh Posté le 01-06-2006 à 23:09:55    

Aide en ligne

Reply

Marsh Posté le 01-06-2006 à 23:13:47    

michalatore > hey, faut pas le prendre mal hein ! on en fait tous des âneries plus grosses que nous. ça n'empêche pas d'en rire quand c'est aussi "évident".
 
Genre : http://forum.hardware.fr/hardwaref [...] 1494-1.htm
(Sauf que là, c'est l'inverse : la "bonne" solution marche pas, alors que c'est le "grand total n'importe quoi" qui marche :pt1cable:
 
Single a une plus petite précision que Double, car il est représenté sur deux fois moins de bits.
C'est donc bien si tu veux gérer de petits nombres en te foutant de la 27° décimale, par contre, oublie pour les grandes valeures ou pour lancer Ariane en orbite.


Message édité par Arjuna le 01-06-2006 à 23:15:19
Reply

Marsh Posté le 02-06-2006 à 02:06:09    

Merci pour la précision :)
Pour moi aussi, c'était évident que c'était la déclaration qui était fausse, mais quand on les connait pas, bin on peut pas tester chaque code de VB. Puis, j'ai tenté google avant, mais le problème récurrent, c'est des gens qui veulent arrondir, alors que justement, moi, je ne voulais pas ! lol
 
Merci pour vos aides en tous cas :jap:

Reply

Marsh Posté le 02-06-2006 à 09:29:23    

On devrait interdire d'installer VB6 sans l'aide en ligne et obliger les utilisateurs à la lire.

Reply

Marsh Posté le 02-06-2006 à 17:37:50    

Citation :

On devrait interdire d'installer VB6 sans l'aide en ligne et obliger les utilisateurs à la lire.


 
Et on devrait apprendre l'entraide et l'amabilité à certains développeurs. Si tu ne souhaites pas répondre, je vois pas pourquoi tu postes sur mon topic , il faut m'expliquer. Bref, le sujet est réglé et je remercie ceux qui m'ont permis d'apprendre des choses.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed