Separateur decimal

Résolu
wdev1 Messages postés 29 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 1 avril 2013 - 18 févr. 2012 à 18:07
 Utilisateur anonyme - 18 févr. 2012 à 19:09
salut.
s.v.p comment peut on modifier le séparateur decimal "," par "." de la culture courante par avec programmation avec vb.net sans passer par la modification manuelle dans option reginale du pc. et mille merci

9 réponses

wdev1 Messages postés 29 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 1 avril 2013
18 févr. 2012 à 18:32
mon probleme est que le separateur decimal de la machine du client est sur "," et mon application n'accepte que le separateur "." mon application plante dés que j'essaie de valider les données contenant le symbole "," par exemple la valeur 2500,50 n'est pas valide et le pire c'est que la saisie s'effectue sur un datagridview lié un datable connecté à une bd access.j'ai essayé de contourner le probleme par le remplacement de "," par "." mais le datagridview rejette la valeur contenant le "." en renvoyant dataerror parsing ,alors je suis confu. avec visual foxro
tout etait parfait pas de probléme de ce genre
mais avec vb.net c'est le casse tête.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 févr. 2012 à 18:36
Et tu n'as rien "pensé" de mieux que modifier la machine de ton client !
Ne JAMAIS faire cela ===>> je fusille personnellement sans scrupule celui qui me refile une appli faisant cela !
On travaille autrement en jouant avec le typage, le format, etc ... de sorete à ce que ce soit toujours bon, quelle que soit la machine .
Commence par le plus simple (ce que te suggère acive), déjà !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
wdev1 Messages postés 29 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 1 avril 2013
18 févr. 2012 à 18:46
merci pour le conseil mais pour la machine du client c'est en fait ma propre deuxième machine
3
Utilisateur anonyme
18 févr. 2012 à 18:11
Salut,

Tu peux, dans ton code remplacer la virgule par le point ou vice-versa.
Replace ( Expression As String, Find As String, Replacement As String)

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0

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

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 févr. 2012 à 18:13
Bonjour,

Serait-ce pour modifier la configuration d'autres machines ?

Très dangereuse, une telle manip, qui aurait pour résultat de modifier les paramètres d'une machine !
Même si "temporaire", également dangereuse car risquerait de compromettre d'autres applis ouvertes !
On ne fait jamais çà !
Quel est ton problème (celui qui te conduit à une telle pensée) ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 févr. 2012 à 18:45
De toutes manières :
ce problème ne saurait surgir que si tu passes par des contrôles tremplins, tels les textboxes, ou des variables non numériques (string)
Et ce sont ces tremplins et/ou variables qu'il te suffit de retransformer en vraies valeurs VB pour faire des calculs.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 févr. 2012 à 18:54
Que ce soit ta machine ou non, c'est une deuxième machine.
Et la conclusion est alors simple :
- ou tu veux la transformer et tu n'as à le faire qu'une seule fois ===>> via l'outil windows
- ou, au contraire, cette machine doit également supporter d'autres applis, déjà présentes ou à venir, susceptibles de travailler avec le séparateur virgule ===>> et tu ne la modifies pas ===>> tu modifies ton code.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
18 févr. 2012 à 18:55
Bonjour,

Pour changer la culture d'une application, tu peux regarder ces 2 liens :
http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.aspx
http://msdn.microsoft.com/en-us/library/b28bx3bh%28v=vs.80%29.aspx

Et pour convertir du texte en numérique, utilises la méthode Parse du type de destination.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
Utilisateur anonyme
18 févr. 2012 à 19:09
Re:
Pourquoi ne pas faire un petit test au démarrage?
Public Class Form1
    Dim Separateur As String
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Chiff As Decimal = Math.PI
        If Chiff.ToString.Contains(",") = True Then
            Separateur = ","
        Else
            Separateur = "."
        End If
    End Sub
End Class


Comme ça on sait quel caractère attendre à la saisie de l'utilisateur.



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
Rejoignez-nous