Conversion String - Single

Conversion String - Single - VB/VBA/VBS - Programmation

Marsh Posté le 07-07-2007 à 21:39:53    

Bonsoir

 

Je vais tenter d'être le plus clair possible ^^

 

J'ai un fichier txt qui contient des valeurs, par exemple :

 

0.5000 0.2500 0.7500

 

J'aimerais récupérer chacune de ces valeurs, effectuer des opérations sur celles ci, puis les renvoyer dans une TextBox.

 

Par conséquent, la première chose que je fais, c'est d'ouvrir le fichier txt, puis de récupérer ces valeurs sous forme de tableau. J'ai donc :

 

tableau(0) = 0.5000
tableau(1) = 0.2500
tableau(2) = 0.7500

 

Jusque là, tout va bien. Si je programme un bouton qui, lorsque j'appuie dessus, écris ces valeurs dans trois Textbox différentes, cela fonctionne.

 

Mon problème, c'est que j'ai besoin d'effectuer des opérations sur ces valeurs. Donc je ne peux pas les garder sous cette forme, car les tableau(i) sont définies comme étant des variables de type String (car issues d'un fichier txt).

 

Si on ne travaille par exemple que sur tableau(0). La variable possède la valeur : 0.5000
J'aimerais la convertir en nombre décimal simple précision, donc je définis une nouvelle variable tableauConvert0 de type Single via la ligne suivante :

 

tableauConvert0 = CSng (tableau(0))

 

puis j'effectue une opération :

 

tableauConvert0 = tableauConvert0 + 1

 

puis je demande à affiche le résultat :

 

tableauConvert0 = tableauConvert0.ToString
maTextBox.Text = tableauConvert0

 

Et là, c'est le drame, il m'affiche :

Citation :

Une exception de première chance de type 'System.InvalidCastException' s'est produite dans Microsoft.VisualBasic.dll

 

Visiblement, c'est une erreur de conversion, mais étant un noObie de VB.Net, je galère un peu et là je désespère un peu parce que ça fait longtemps que je planche là dessus ^^

 

Si vous pouviez me dire où est mon erreur, j'apprécierais.

 

Merci d'avance !

 

Edit : Alors j'ai trouvé un truc sur le fofo - C'est la fonction Val(). Mais j'ai l'impression qu'elle me convertit en Integer, puisque le résultat fait 2, au lieu de 1.5


Message édité par Sinner le 07-07-2007 à 22:17:54
Reply

Marsh Posté le 07-07-2007 à 21:39:53   

Reply

Marsh Posté le 08-07-2007 à 11:48:03    

voir CDbl()

Reply

Marsh Posté le 09-07-2007 à 10:37:12    

Déjà il serait bien de dire que tu bosses en VB.NET et pas en VB6/VBA.
Ou alors je ne comprends pas cette ligne « tableauConvert0 = tableauConvert0.ToString »
D'ailleurs je ne la comprend pas quand même :) puisque tu dis avoir déclaré tableauConvert0 en Single et que .ToString essaie d'y stocker une chaîne de caractères.

 

Mais je ne suis pas un grand connaisseur de VB.NET alors je fais peut-être une erreur d'interprétation.


Message édité par tegu le 09-07-2007 à 10:37:42
Reply

Marsh Posté le 15-11-2007 à 10:15:42    

Coucou
 
Va sur ce site , ça peut, peut être t'aider :  
http://plasserre.developpez.com/v1-6conv.htm
 
pour Val :
 
Val reconnaît le point (et pas la virgule)
 
Dim i As Double
 
i=Val("5.45" )    ' donnera i=5,45
 
i=Val("5,45" )    ' donnera i=5
 
++

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed