Séparateur décimale VB.NET

[Fermé]
Signaler
Messages postés
259
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
11 mars 2010
-
Messages postés
259
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
11 mars 2010
-
Bonjour,

Je travaille actuellement sur un logiciel pour mon travail qui me permet d'afficher des graphiques de données contenues dans un fichier texte.

Ces données viennent de différents tests sur banc d'essai, le problème c'est que certains fichiers viennent de nos enregistreurs et le séparateur des décimales est la virgule, mais nous avons également des fichiers venant d'entreprise extérieures, qui eux utilise le point.

J'ai trouvé une parade en ajoutant une fonction qui passe le logiciel en mode en-us ou fr-fr, mais le problème c'est que dans ce logiciel j'ai une partie "offset/calibration" qui permet de décaler une courbe et de lui appliquer un coefficient, le problème c'est que ces cas sont des simples TextBox et le problème est que lorsque je je tape un chiffre avec le pavé numérique de mon clavier, le point s'écrit en point quelque soit le mode, et donc si je suis en mode "fr-fr" le point ne passe pas et il y a une erreur car le séparateur des décimale est définit par la virgule...

Il y a-t-il un moyen pour que quelque soit le point ou la virgule il soit considérer comme séparateur des décimale, ou bien une fonction qui permettrait d'interpréter le texte présent dans un textbox en double (et ainsi il interprétrait tout seul le point)?

Pour infos mes fichiers peuvent faire plusieurs millions de lignes avec près de 20 axes (tous à virgule), donc il n'est pas envisageable de faire une prgramme qui remplacerait le "." par "," ou inversement (trop long à traiter le fichier).

Merci d'avance,

7 réponses

Messages postés
259
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
11 mars 2010
18
Pas de spécialiste de VB.net ici?

d'ou viennent tes fichiers?
Messages postés
259
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
11 mars 2010
18
Aucune utilité de le savoir (désolé mais c'est mieux si ca reste secret).

Certains fichiers viennent de nos enregistreurs HSR (high sampling rate), et d'autre d'entreprises partenaires.

Certains sont avec des "." d'autre avec des "," :

4.123 ou bien 4,123

Merci

bah si tu arrives à lire dans ces fichier je crois qu'il serait simple de faire un remplacement avec replace de la class string (string.replace(",",".")) ce qui remplacera le point par un virgule sinon le contraire désolé je ne me rappelle plus.
j'espere que c'est utile.
Messages postés
259
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
11 mars 2010
18
comme je l'ai dit plus haut, le remplacement des "," par des "." ou inversement serait assez difficilement envisageable.

En effet, nous arrivons assez facilement à des fichiers de plusieurs millions de lignes, donc imagine le temps qu'il faudrait, déjà rien que chargé le fichier et le mettre dans un tableau peut prendre plusieurs minutes...

dans ce cas là fais un test sur le separateur decimal si point alors c'est ce que tu veux sinon affecte lui le point.
Messages postés
259
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
11 mars 2010
18
Le problème comme je l'ai expliqué plus haut, c'est que j'ai une partie du soft qui permet de "recalibrer" les courbe en entrant les données avec le clavié, et le "." du pavé numérique fait un "point" donc quand ce sera un fichier avec des décimale ca ne marchera plus..

Nan, je pense vraiment qu'il faut que je trouve un moyen de reconnaitre les deux...