Séparateur décimale VB.NET

Fermé
Titial69 Messages postés 259 Date d'inscription lundi 22 février 2010 Statut Membre Dernière intervention 11 mars 2010 - 3 mars 2010 à 14:40
Titial69 Messages postés 259 Date d'inscription lundi 22 février 2010 Statut Membre Dernière intervention 11 mars 2010 - 4 mars 2010 à 21:29
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

Titial69 Messages postés 259 Date d'inscription lundi 22 février 2010 Statut Membre Dernière intervention 11 mars 2010 20
3 mars 2010 à 16:07
Pas de spécialiste de VB.net ici?
0
Utilisateur anonyme
4 mars 2010 à 20:05
d'ou viennent tes fichiers?
0
Titial69 Messages postés 259 Date d'inscription lundi 22 février 2010 Statut Membre Dernière intervention 11 mars 2010 20
4 mars 2010 à 20:10
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
0
Utilisateur anonyme
4 mars 2010 à 20:22
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Titial69 Messages postés 259 Date d'inscription lundi 22 février 2010 Statut Membre Dernière intervention 11 mars 2010 20
4 mars 2010 à 20:42
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...
0
Utilisateur anonyme
4 mars 2010 à 21:26
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.
0
Titial69 Messages postés 259 Date d'inscription lundi 22 février 2010 Statut Membre Dernière intervention 11 mars 2010 20
4 mars 2010 à 21:29
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...
0