Conversion de nombres avec exposant

diablosv Messages postés 118 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 26 février 2014 - 28 juin 2008 à 15:40
daluche Messages postés 1 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 19 mai 2011 - 19 mai 2011 à 11:14
Bonjour

j'aimerais savoir si il existe une fonction pour retourner la valeur d'un nombre qui contient un exposant.

Exemple

j'ai 1.12398E+04
Je veux 1123.98

ou

j'ai 1.12398E-04

Je veux 0.000112398

Est ce possible ??

D'avance merci

Diablo_SV

9 réponses

Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
28 juin 2008 à 17:06
Salut,

Regarde le paramètre "Format" de la fonction ToString des Double...

Standard Numeric Format Strings
Custom Numeric Format Strings
0
diablosv Messages postés 118 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 26 février 2014
28 juin 2008 à 18:52
Merci pour ta reponse je viens de tester mais en fait je me suis mal expliquer.

se serait plutot une chaine de caractere ( la valeur vient d'un fichier texte ) a convertir en nombre sans exposant

Encore désolé pour l'erreur


Diablo_SV
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
28 juin 2008 à 19:55
Rien ne t'empêche de convertir tes valeurs en Double :

        Dim val As Double = "1.12398E+04"
        MsgBox(val)

Ceci affiche "11239.8"
0
diablosv Messages postés 118 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 26 février 2014
28 juin 2008 à 20:42
Merci

marche nickel sur les exposant positif mais pas sur les negatifs ???.

je savais pas qu'on pouvait transferer une chaine dans un double et que la conversion se faisait toute seule

Diablo_SV
0

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

Posez votre question
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
28 juin 2008 à 21:26
"marche nickel sur les exposant positif mais pas sur les negatifs ???."

Ah bon? Chez moi ça fonctionne:

        Dim val As Double = "1.12398E-04"
        MsgBox(val)

Ceci affiche "0.000112398"

"je savais pas qu'on pouvait transferer une chaine dans un double et que la conversion se faisait toute seule"
A condition que le format soit correct.
Dim val As Double = "1.12398 E-04" ne fonctionne pas (espace avant le E)
Dim val As Double = "1,12398E-04" ne fonctionne pas (virgule à la place du point)
0
diablosv Messages postés 118 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 26 février 2014
29 juin 2008 à 20:41
voila j'ai trouvé pkoi ca ne marche pas avec les negatifs

val = "6.71756E-06"

ne fonctionne pas car l'exposant est plus grand que le nombre de decimal apres la virgule

Diablo_SV
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
29 juin 2008 à 22:20
Encore faut-il voir ce que tu appels "ne fonctionne pas". Ca fonctionne très bien, seulement le résultat est affiché avec un exposant, ce qui est absolument normal. La fonction ToString essai de représenter le nombres avec une chaine la plus courte possible (je pense):
"6.71756E-06" est plus court que "0.00000671756", donc il affiche la 1ère solution.

Si tu ne veux pas utiliser l'affichage automatique, il faudra spécifier le format toi même. Pour ça, regarde mon 1er message
0
diablosv Messages postés 118 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 26 février 2014
4 juil. 2008 à 17:08
salut

tu as raison sa fonctionne. Alors j'ai tester la fonction

dim val as double

val.ToString.Format et la un grand blanc j'arrive pas a lui passer un paramettre. Si ta la soluce

Merci


Diablo_SV
0
daluche Messages postés 1 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 19 mai 2011
19 mai 2011 à 11:14
Une conversion en décimal va bien:
Conversion.CDec(val)
0
Rejoignez-nous