[vb] conversion string integer

Résolu/Fermé
pulpul Messages postés 62 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 26 juin 2009 - 8 oct. 2007 à 08:59
pulpul Messages postés 62 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 26 juin 2009 - 19 oct. 2007 à 14:49
Bonjour,
Je lit un fichier texte contenant des nombres à virgules. seulement, la lecture s'arrete à la virgule, donc je doit lire 2 ligne et reconstituer le nombre. Celui ci est donc en string, je veux le convertir en Integer. mais la variable qui recoit ce nombre contient toujours 0. Voici le code:

Dim temps(100) As Integer
Open App.Path & "\fichiers\" & fich_selec & "\" & fich_selec & "_st.txt" For Input As #26
For i = 0 To 100
If Not EOF(26) Then
Input #26, temp
Input #26, temp2
temp3 = temp & "," & temp2
temps(i) = CInt(temps3)
End If
Next
close #26

Voila, à noté que j'ai essayé comme séparateur une virgule et un point, et le résultat est le meme.
SI quelqu'un connait la solution?
A voir également:

4 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
10 oct. 2007 à 12:18
Bonjour,

Je vais avoir l'air d'insister mais je te rappelle qu'un Integer est un nombre entier de 2 octets allant de -32768 à 32767 et que donc pas de virgule dans un entier. Pour des valeurs décimales tu dois utiliser un Single de 4 octets ou un Double de 8 octets. Effectivement en utilisant un variant tu contournes le problème, pour ma part je ne trouve pas ça très "propre", mais fait ensuite attention à la manipulation de tes données.

Bon courage

Polux
1
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
8 oct. 2007 à 19:11
bonjour,

Un Intéger est un entier donc sans virgule. Utilise plutot CDbl(temps3)

bon courage
0
pulpul Messages postés 62 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 26 juin 2009 7
10 oct. 2007 à 11:47
Merci pour ta réponse, mais cette fonction ne marche pas avec un string.
En effet, je n'arrive pas à mettre un nombre à virgule dans un integer.
J'ai donc utilisé une variable variant, et cela à fonctionné...
Merci pour ton aide ;)
0
pulpul Messages postés 62 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 26 juin 2009 7
19 oct. 2007 à 14:49
Ok merci pour ces précisions, c'est vrai que ca sera plus propre qu'avec un variant. ;)
0