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

C# Discussion :

Formatage de nombres


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Par défaut Formatage de nombres
    Bonjour,
    je suis debutant sur ce site et n'ai pas trouvé de reponse ( je ne sais peut etre pas bien faire la recherche...)

    Je voudrais savoir si'l es possible d'avoir dans tous mon projet ( ou au moins d'appliquer a des formulaires en eniter)
    un formatage pour les nombres ... que ca ecrive 1 233 566.23 au lieu de 1233566.23 sur tous mes controles ...
    bref je voudrais avoir les espaces de separations pour les milliers et ce d emaniere systematique si possible

    Comment faire ?

    Merci

  2. #2
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Citation Envoyé par francois 974 Voir le message
    Je voudrais savoir si'l es possible d'avoir dans tous mon projet ( ou au moins d'appliquer a des formulaires en eniter)
    un formatage pour les nombres ... que ca ecrive 1 233 566.23 au lieu de 1233566.23 sur tous mes controles ...
    Tu peux passer par la méthode ToString.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public static string FormatNombreAvecSeparateurMilliers(long nombre)
    {
        return nombre.ToString("n0");
    }
    Ou encore selon les cas:
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    double uneValeur = 689257;
    TonTextBox.Text = uneValeur.ToString("#,##0");

    Il se peut qu'au lieu de " " comme séparateur, tu ais ",". Si c'est le cas, alors c'est que la culture de ton système est en Anglais. Change la en français via
    Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-FR").

  3. #3
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Pour plus de détails, regarde les Standard Numeric Format Strings

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Par défaut
    Oui la c'est pour un textbox mais ce que je voudrais cc'est que ca s'applique partout sans que j'ai a l'ecrire a chaque fois

  5. #5
    Membre Expert Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Par défaut
    Bah, tu dois écrire une fonction (comme je l'ai fait dans ma première réponse) qui prend en paramètre un double par exemple et te retourne ta valeur avec le séparateur de milliers. Puis, il te suffira d'appeler cette fonction à chaque emplacement où tu as besoin de faire ton affichage.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Il me semble qu'il suffit de manipuler "Thread.CurrentThread.CurrentUICulture" au démarrage. C'est un objet de type "CultureInfo". Dedans, il y a un membre "NumberFormat" de type "NumberFormatInfo". Dedans il y a plein d'options pour les affichages de nombres.

    Le code devrait donner qqch du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Thread.CurrentThread.CurrentUICulture.NumberFormat.NumberGroupSeparator=" ";
    à faire au démarrage de l'application.

    Si ça ne fonctionne pas, essayer de réaffecter "Thread.CurrentThread.CurrentUICulture" avec un clone :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CultureInfo newCI = (CultureInfo)Thread.CurrentThread.CurrentUICulture.Clone();
    newCI.NumberFormat.NumberGroupSeparator = " ";
    Thread.CurrentThread.CurrentUICulture = newCI;

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Par défaut
    bonsoir,
    oui
    javais vu un truc comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.GetCultureInfo("fr-FR");
    mais je ne sais pas ou le placer ...
    et j'ai l'impression que ca na pas changé grand chose ...
    meme en le mettant ds un formulaire , celui ci navait pas l'air d'etre affecté pour autant

    en fait , j'ai deja des dizaines( peut etre meme des centaines de formulaires)
    et cela me semble difficile de croire qu'il faut aller modifier chaque controle ou methode tostring() pour qu'il m'ecrive un simple nombre selon le format que je voudrais..

Discussions similaires

  1. [XSL-FO] formatage de nombre
    Par qouify dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 16/05/2006, 13h58
  2. [PHP-JS] Formatage de nombre
    Par goldorax113 dans le forum Langage
    Réponses: 5
    Dernier message: 08/05/2006, 11h50
  3. formatage de nombre
    Par Phiz dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 29/03/2006, 18h17
  4. Formatage de nombres dans une page JSP
    Par Addouna dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 10/03/2006, 13h01
  5. Formatage des nombres à l'affichage
    Par nbutin dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 13/07/2004, 10h54

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