[vb] conversion string integer [Résolu/Fermé]

Signaler
Messages postés
62
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
26 juin 2009
-
Messages postés
62
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
26 juin 2009
-
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?

4 réponses

Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 132
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60769 internautes nous ont dit merci ce mois-ci

Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 132
bonjour,

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

bon courage
Messages postés
62
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
26 juin 2009
7
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 ;)
Messages postés
62
Date d'inscription
lundi 18 juin 2007
Statut
Membre
Dernière intervention
26 juin 2009
7
Ok merci pour ces précisions, c'est vrai que ca sera plus propre qu'avec un variant. ;)