IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

formatage decimal en vb.net


Sujet :

ASP.NET

  1. #1
    Membre très actif
    Inscrit en
    Février 2007
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 277
    Par défaut formatage decimal en vb.net
    comment on peut savoir en vb.net si un nombre saisi sur un textbox est un decimal format "." ou "," par exemple 4,53 ou 4.53
    merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    tu peux essayer de convertir la chaine en nombre :

    Dim d as Double
    d = Double.Parse(textBox1.Text)

    Si ca lève une exception, c'est que le texte n'est pas au bon format.

    Sinon tu peux utiliser un MaskedTextBox pour forcer l'utilisateur à saisir un nombre

  3. #3
    Membre très actif
    Inscrit en
    Février 2007
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 277
    Par défaut
    je suis stagiaire dans une entreprise et les gens ici sont habitués à saisir des valeurs avec le format "." donc pour faire des traitements sur ces valeurs je dois les reformater en "," !

    à toi

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    s = "2.5"
    s2 = s.Replace('.', ',')
    ou qqch comme ca...

  5. #5
    Membre très actif
    Inscrit en
    Février 2007
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 277
    Par défaut
    replace c en javascript
    quelqu'un peut m'aider ?? => remplacer par exemple 4.75 en 4,75

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    replace existe aussi en vb.net il est dans l'espace de nom microsoft.visualbasic

    ton appli ne fonctionnera pas si un utilisateur a été changé les parametres régionnaux de windows et changé le séparateur de décimal (rare certes)
    si tu veux gérer ca tu peux le connaitre (cherche sur ce forum c'est deja passé comme question)

    ensuite tu peux aussi intercepter l'evenement keypress et transformer le . ou , (ou l'inverse)
    tu peux meme faire un controle mieux pour éviter par exemple qu'il y a 2 , dans un nombre


    ou si tu veux pas t'enbeter, sur l'evenement textchanged
    if not isnumeric(textbox.text) then
    _ verouillage du bouton valider par exemple
    end if
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre très actif
    Inscrit en
    Février 2007
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 277
    Par défaut
    je ne peux pas forcer l'utilisateur, je dois lui laisser le choix de saisir soit avec un . ou avec une ,

    à vous

  8. #8
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Force la culture au niveau de ton application à l'aide de:
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="FR-BE">
    dans le web.config

    Dès lors, tu sais comment sont formatés les nombres (plus exactement comment ils devraient )

    Ensuite tu utilises le .Replace(',', '.'); (ou l'inverse selon la culture choisie)

    Pour plus d'infos, tu peux lire http://ditch.developpez.com/aspnet/tome5/

  9. #9
    Membre très actif
    Inscrit en
    Février 2007
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 277
    Par défaut
    Ditch à quoi sert
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="FR-BE">
    ?

  10. #10
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Citation Envoyé par lesafir Voir le message
    Ditch à quoi sert
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="FR-BE">
    ?
    A forcer la culture. Je l'ai dit

    Puis en plus c'est expliqué dans l'article mis en lien

    C'est comme si tu modifiais les regional settings de la machine... Sauf que ce n'est que pour ton application

  11. #11
    Membre très actif
    Inscrit en
    Février 2007
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 277
    Par défaut
    Conclusion : j'ai crée un fichier web.config dans le même répertoire qui contient :

    <configuration>
    <system.web>
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="FR-BE">
    </system.web>
    </configuration>

    Cela suffit ?

  12. #12
    Membre très actif
    Inscrit en
    Février 2007
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 277
    Par défaut
    super !! maintenant il prend en charge le "." merci !!

  13. #13
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Citation Envoyé par lesafir Voir le message
    super !! maintenant il prend en charge le "." merci !!
    Ta réponse répond à ta question. Pense à mettre le résolu.

    Ceci sera ajouté à la FAQ ASP.NET

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ASP.NET MVC 3 : problème decimal jQuery
    Par Keilen dans le forum ASP.NET MVC
    Réponses: 5
    Dernier message: 03/04/2011, 03h08
  2. VB.net - Formatage numéric DataGridView
    Par House MD dans le forum VB.NET
    Réponses: 3
    Dernier message: 09/04/2008, 15h44
  3. [2.0, C#] Decimal: Incompatibilité .NET~SqlServer ?
    Par Floyd dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 15/03/2007, 13h06
  4. [VB.Net] Formatage d'un champ DateTime d'un DataGrid
    Par Jerem76 dans le forum ASP.NET
    Réponses: 10
    Dernier message: 29/07/2005, 09h44
  5. [VB.NET] Obtenir un Char a partir de son ASCII Decimal ...
    Par maitrebn dans le forum Windows Forms
    Réponses: 8
    Dernier message: 09/09/2004, 14h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo