VB.Net Fonction Split [Résolu]

cs_JeffC1977 929 Messages postés vendredi 10 novembre 2000Date d'inscription 10 septembre 2010 Dernière intervention - 8 nov. 2007 à 21:09 - Dernière réponse : nhervagault 6069 Messages postés dimanche 13 avril 2003Date d'inscription 15 juillet 2011 Dernière intervention
- 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
nhervagault 6069 Messages postés dimanche 13 avril 2003Date d'inscription 15 juillet 2011 Dernière intervention - 8 nov. 2007 à 21:42
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

Merci nhervagault 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 76 internautes 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.