cs_JeffC1977
Messages postés928Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention23 septembre 2023
-
28 févr. 2006 à 17:56
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 2019
-
1 mars 2006 à 04:47
Salut.. J'ai un petit problème bête...
Tout les calcul suivant fonctionne très sauf le dernier (VarMile)
Mon programme est un petit logiciel pour faire la conversion de longueur..
Je rentre la valeur 100 dans mon textbox et j'ai le résultat en Pied, chaine, etc...
Le bug est que ma Variable VarMile devrait me donner comme résults la valeur 0.062137119 et ca me donne plutôt le résultat suivant: 6.2137119 ??????
Pourquoi ????
Dim VarMetre As Double
Dim VarPiedAnglais As Double
Dim VarPiedFrancais As Double
Dim VarChaine As Double
Dim VarArpent As Double
Dim VarMile As Double
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 28 févr. 2006 à 18:11
Salut
-1- Il vaut mieux convertir explicitement les valeurs des chaines contenues dans les TextBox :
VarPiedAnglais = CDbl( txtConversion.Text) / 0.3048
-2- Une TexBox pouvant contenir des caractères non numériques, il est judicieux d'ajouter un Val qui transformera la chaine en 0 au lieu de générer une erreur de code :
VarPiedAnglais = CDbl(Val(txtConversion.Text)) / 0.3048
-3- Bizarrement, VB reconnait mal le format des valeurs numériques fixes comme ton 0.3048
Comme tu travailles en double, ajoute un # après ton chiffre :
VarPiedAnglais = CDbl(Val(txtConversion.Text)) / 0.3048#
Ca devrait fonctionner.
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Champion du monde de boule de cristal - 2005 Le savoir est la seule matière qui s'accro
cs_JeffC1977
Messages postés928Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention23 septembre 20234 1 mars 2006 à 03:32
Rebonjour....
Et bine c'est bien de savoir que les 2 valeurs sont égales... mais le problème c'est que je doit absolument avoir la valeur normal et non scientifique...
Le Bug c'est que je fais un prog. de conversion.... si c'est la valeur scientifique qui aparait..... et bien sa donne à première vue un erreur pour l'utilisateur... :(
J'ai posé une question plsutot dans la journée à propos de la conversion de degré déciamux en Degré Minute Seconde....
Et bien j'ai le même problème....
Degres = Int(txtVertical) 'le Int arrondie la valeur (enlève les décimaux)
dbConvert = (dbConvert - Degres)
dbConvert = dbConvert * 100
dbConvert = Int(dbConvert)
dbConvert = dbConvert / 60
Minutes = Int(dbConvert) 'le Int arrondie la valeur (enlève les décimaux)
dbConvert = dbConvert - Minutes
dbConvert = (dbConvert * 100) / 60
Lorsque je divisi 1 par 60 ca me donne 1,66666666667E-02 et je devrais avoir 0,0166666666667
Le problème est que même si je divise par 100 ca m'indique la même réponse... :(