VB6 exposant dans l'affichage à enlever

Résolu
Signaler
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
-
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
-
Salut à tous...

Je fais un calcul mathématique et j'arrive comme résultat à:

1.57963427991955E-09
Je ne veux pas arriver à ce résultat (avec l'Exposant)
je dois arriver à 0,000000001

Comment faire ???????

merci d'avance

9 réponses

Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
salut l'ami canadien,

utilises formatNumber, par exemple, en ajustant le nombre de décimales souhaité :

formatnumber(1.57963427991955E-09,10)
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
YResidu(i) = FormatNumber(CSng(frmCogo.lblBackCoordY) - Etape3_Y, "#,#####") 'Donne Rien

=> mix entre Format$ et FormatNumber ^^
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Bonjour,

Comment as-tu typé chacune des variables utilisées pour ton calcul et avec quel code fais-tu ce calcul ?
C'est à partir de ces informations précises qu'il sera possible de te guider... Pas sans elles.
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
4
Public YResidu() As Double
Public XResidu() As Double
Dim Etape3_X As Double, Etape3_Y As Double

YResidu(i) = CSng(frmCogo.lblBackCoordY) - Etape3_Y
                    XResidu(i) = CSng(frmCogo.lblBackCoordX) - Etape3_X

frmCogo.lblBackCoordY 'C'est un Label
frmCogo.lblBackCoordX  'C'est un Label

Voila  s'il manque quelque chose fait signe... merci
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
voir ma réponse ci-dessus, pour formater ta valeur, pour affichage/export
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
4
Salut 2359 Renfield  Ca va ????

J'ai essayé ton truc. Ca marche mais par parfaitement....

Voici ce que j'ai essayé

YResidu(i) = FormatNumber(CSng(frmCogo.lblBackCoordY) - Etape3_Y, "#,#####") 'Donne Rien

YResidu(i) = FormatNumber(CSng(frmCogo.lblBackCoordY) - Etape3_Y, 5) 'Donne 0

YResidu(i) = FormatNumber(CSng(frmCogo.lblBackCoordY) - Etape3_Y,) 'Donne 0

Comment faire apparaître 5 chiffre apres la virgule.... Merci
c'est un prob. de variable ou de ocde avec le FormatNumber ???

Merci de votre aide
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
C'est bien typé...
Ma crainte est donc qu'une des 2 valeurs utilisées pour la soustraction soit un nombre "hors limites"
Peux-tu nous dire (en utilisant msgbox, par exemple) quelles sont les valeurs obtenues pour CSng(frmCogo.lblBackCoordY) et pour Etape3_Y ?
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
4
CSng(frmCogo.lblBackCoordY) = 4.84571864054819E-15
Etape3_Y = -1,57962943420076E-09

Voilà...
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
4
J'ai trouvé....

Ma variable (Tableau) YResidu(i) est en Double
Si je fais ca

                    Dim YTest As String
                    
                    YTest = FormatNumber(YResidu(i), 9)

Ca fonctionne...

Merci à toute la gang de m'avoir donné un coup de main