Rechercher : dans
Par :

[vb] conversion string integer

Dernière réponse le 19 oct 2007 à 14:49:46 pulpul, le 8 oct 2007 à 08:59:35 
 Signaler ce message aux modérateurs

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?

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « [vb] conversion string integer » dans :
Javascript - L'objet String VoirLes particularités de l'objet String string est un mot anglais qui signifie "chaîne", il s'agit en fait de chaîne de caractères. L'objet String est un objet qui contient un certain nombre de propriétés et de méthodes permettant la manipulation...
VBScript - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (VBScript associe le mot clé true à...

1

Polux31, le 8 oct 2007 à 19:11:59

Bonjour,

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

bon courage

Répondre à Polux31

2

pulpul, le 10 oct 2007 à 11:47:49

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 ;)

Répondre à pulpul

3

Polux31, le 10 oct 2007 à 12:18:34

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

Répondre à Polux31

4

 pulpul, le 19 oct 2007 à 14:49:46

Ok merci pour ces précisions, c'est vrai que ca sera plus propre qu'avec un variant. ;)

Répondre à pulpul