PDA

Afficher la version complète : transformer 9.9123456E+37 en 9.91E+37



ced_voyage
07/05/2004, 15h17
Comment faire pour transformer un nombre avec grand exposant pour n\'avoir que 2 chiffres ou 3 apres la virgule ?

Ex :
transformer
nb = 9.9123456E+37
en
nb = 9.91E+37


Merci de vos suggestion de codes

Cedric

lea
07/05/2004, 17h12
Bonjour,

Ton problème ne concerne-t-il que l\'écriture (gestion de chaîne) ou faut-il de plus que le calcul de 9.91E+37 soit encore réalisable (gestion de nombre) ?
Léa

ced_voyage
07/05/2004, 19h11
C\'est juste de la gestion d\'affichage. Il n\'a aucun traitement avec le calcul.

Car ca ne sert a rien d\'avoir 8 chiffres apres la vigule pour l\'affichage du resultat. Seulement 2 ou 3 chiffres significatifs sont assez.

lea
07/05/2004, 19h37
Alors aucun problème, tu intègres le code suivant

Dim nb As String
nb=CStr(9123456.E+37)
nb=Left(nb,4)+Right(nb,4)

Remarque: si tu veux 3 chiffres tu écris Left(nb,3) .....
mieux en paramétrant le nombre de chiffres
Dim n as Integer
n=InputBox(n)
nb=Left(nb,n)+Right(nb,n)

maintenant tu peux paramétrer ceci en ajoutant
par exemple
nb=InputBox(\"quelle valeur voulez-vous transformer ?\")

Attention si tu développes sous VB.Net
il faut écrire
nb=System.VisualBasic.left(nb,4)+System.VisualBasi c.Right(nb,4)


Voila
tiens moi au courant et bon courage
Léa

Visiteur MP
08/05/2004, 16h17
Merci Lea je vais essayer ce que tu dis. Je reverrai ca lundi au boulot.
Oui je travaille sous .NET
En fait entre temps, j\'ai trouvé dans un bouquin un truc du genre :
Format(\"####E+0\")
Et ca marche aussi. Mais mais but c\'est d\'avoir une fonction ou on peut rentrer le nb de chiffres significatif apres la vigule comme paramètre d\'entrée.
Donc ta fonction doit etre mieux.

Cool mon patron va être content j\'ai grâce à toi trouvé la solution à son pb qu\'il se posait depuis longtemps. :-)

Cedric

Visiteur MP
08/05/2004, 16h17
Merci Lea je vais essayer ce que tu dis. Je reverrai ca lundi au boulot.
Oui je travaille sous .NET
En fait entre temps, j\'ai trouvé dans un bouquin un truc du genre :
Format(\"####E+0\")
Et ca marche aussi. Mais mais but c\'est d\'avoir une fonction ou on peut rentrer le nb de chiffres significatif apres la vigule comme paramètre d\'entrée.
Donc ta fonction doit etre mieux.

Cool mon patron va être content j\'ai grâce à toi trouvé la solution à son pb qu\'il se posait depuis longtemps. :-)

Cedric