VB.Net Fonction Split [Résolu]

Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Dernière intervention
10 septembre 2010
- - Dernière réponse : nhervagault
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
- 8 nov. 2007 à 21:42
Salut à tous...

J'ai un petit problème avec la fonction Split....

Je veux seulement aller chercher une information dans un tableau qui contient une ligne avec 4 élément séparer par des espaces...

Ligne de mon Tableau =
6,6 8,6 9,3 6,0
Separateur = " "
Mon TableauLigne est en String
Mes autres varaibles (LigneCoordX1 , LigneCoordX2, LigneCoordY1 et LigneCoordY2)
sont en Single.

Je n'ai aucun problème à récupérer le résulta de la varianle LigneCoordX1 (6,6)
Mais ca Bug à la ligne suivant (ligne en Gras et souligné)

Voyez-vous pourquoi ????

Merci de votre aide

LigneCoordX1 = Convert.ToSingle(TableauLigne(j).Split(Separateur)(0))
LigneCoordX2 = Convert.ToSingle(TableauLigne(j).Split(Separateur)(1))
LigneCoordY1 = Convert.ToSingle(TableauLigne(j).Split(Separateur)(2))
LigneCoordY2 = Convert.ToSingle(TableauLigne(j).Split(Separateur)(3))
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
3
Merci
salut,

Voici la façon propre de faire ce que tu cherches
En utilisant les import qui faut tu peux alleger le code

Sinon une facon sale est de faire un replace "," --> "."

c'est comme tu veux


Dim LigneCoordX1 As Single
Dim LigneCoordX2 As Single
Dim LigneCoordY1 As Single
Dim LigneCoordY2 As Single
Dim Separateur As String = " "
Dim TableauLigne As String = "6,6 8,6 9,3 6,0"
Dim oldprovider As System.Globalization.NumberFormatInfo

Dim N As Globalization.NumberFormatInfo = Globalization.CultureInfo.CurrentCulture.NumberFormat.Clone
Dim c As Globalization.CultureInfo = Globalization.CultureInfo.CurrentCulture.Clone
Dim oldsep As String = c.NumberFormat.NumberDecimalSeparator
c.NumberFormat.NumberDecimalSeparator = ","
Threading.Thread.CurrentThread.CurrentCulture = c


oldprovider = System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat
System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator = ","
LigneCoordX1 = Convert.ToSingle(TableauLigne.Split(Separateur)(0))
LigneCoordX2 = Convert.ToSingle(TableauLigne.Split(Separateur)(1))
LigneCoordY1 = Convert.ToSingle(TableauLigne.Split(Separateur)(2))
LigneCoordY2 = Convert.ToSingle(TableauLigne.Split(Separateur)(3))

c.NumberFormat.NumberDecimalSeparator = oldsep
Threading.Thread.CurrentThread.CurrentCulture = c

Dire « Merci » 3

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

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de nhervagault

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.