Ecrire un grand nombre sous vb6

youssefizem
Messages postés
9
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
27 février 2008
- 27 sept. 2007 à 04:57
youssefizem
Messages postés
9
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
27 février 2008
- 3 oct. 2007 à 04:38
vraiment c'est un forum extraordinaire, il simplicite la programmation

salut, mon problème est le suivant :
je veux par exemple ecrire cette instruction sous VB6 :
       x=123456789123456789
mais dommage une fois passer à la ligne suivante automatiquement ça devient:
       x= 1.23456789123457E+17
ça veut dire une valeur approchée à l'originale la chose que je veux pas.
je me demande s'il y a une solution?
merci d'avance

11 réponses

jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
27 sept. 2007 à 08:14
Salut,
De qulle type as tu déclarer X ?

@+: Ju£i?n
Pensez: Réponse acceptée
0
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
27 sept. 2007 à 09:09
Peu importe son type (ici surement double), même s'il le met dans un currency ou bidule de ce genre, il ne pourra rien en faire ensuite. La moindre multiplication et patatras, un 64 bits non signé plafonnant à 18446744073709551615.

ciao...
BruNews, MVP VC++
0
welcometomyheaven
Messages postés
24
Date d'inscription
dimanche 11 juin 2006
Statut
Membre
Dernière intervention
8 août 2008

27 sept. 2007 à 14:21
bonjour

il faut l'ecrir de cette façon : X = "123456789123456789"
0
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
27 sept. 2007 à 18:53
ça c'est de l'argument technique.
ah oui, on est sur vb...

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
us_30
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
27 sept. 2007 à 23:30
lol... Bonsoir,

Il existe le type "Décimal", mais c'est extraordinairement chier à utiliser (toutes les opérations dessus ne fonctionnent pas avec la précision des 28 chiffres que ce type devrait gérer, comme le dit BruNews...)

Amicalement,
Us.
0
youssefizem
Messages postés
9
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
27 février 2008

29 sept. 2007 à 01:13
Tout d'abord merci pour tous, je suis trés reconnaissant; 
en fait je veux pas faire des opérations avec;  mais l'histoire c'est:
   j'ai une chaine de caractère se compose des chiffres je veux la convertir en
   double pour le stocker dans un fichier binaire sans perdre l'information
   la première fois j'ai cru que la fonction VAL qui marche pas alors 
   j'ai  réaliser une fonction pareille qui fait le meme travail mais le problème reste
   toujours;
   pour le type DOUBLE j'ai une idée qu'il peut contenir jusqu'à : 
   9.8E+308???????? 
   merci encore une fois pour vous efforts
@++
 
0
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
29 sept. 2007 à 09:16
Le Double ne contiendra 'que' 17 chiffres en précision, le reste sera une approximation.

ciao...
BruNews, MVP VC++
0
us_30
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
30 sept. 2007 à 13:05
bonjour,

Voilà, Brunews a raison... Le type DOUBLE peut calculer jusqu'à 9.8E308 (à qlch près) mais pas contenir les 308 chiffres... Pour le stockage en binaire, il faudrait convertir tes nombres en  binaire, puis stocker tous les 8 bits (1 octect)... En plus, il faura prévoir une marque pour la séparation, sauf s'ils ont une longeur fixe... enfin,bref...

Amicalement,
Us.
0
youssefizem
Messages postés
9
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
27 février 2008

1 oct. 2007 à 02:13
salut !!! je suis trés satisfait avec vos explications et je vous remercie infiniment,
je me demande si ces 17 chiifres qui peut calculer le double sur tous les
langages  ou bien juste sous VB6...
0
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
1 oct. 2007 à 18:26
VB n'entre pour rien dans l'affaire, c'est le format binaire interne du Double sur 64 bits qui impose cela.

ciao...
BruNews, MVP VC++
0
youssefizem
Messages postés
9
Date d'inscription
mercredi 19 septembre 2007
Statut
Membre
Dernière intervention
27 février 2008

3 oct. 2007 à 04:38
Thank you for all,je vous souhaite bonne courage
@++
0