VB.Net Fonction Split

Résolu
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 8 nov. 2007 à 21:09
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre 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))

1 réponse

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
8 nov. 2007 à 21:42
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
3
Rejoignez-nous