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 :

Format {0:c} avec C# [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Par défaut Format {0:c} avec C#
    Bonjour,

    J'ai un menu déroulant (DropDownList) dans lequel j'affiche le prix

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    offer = string.Format("{0:c}", priceOfferStruct.PriceAmt)
    j'obtiens, par exemple, $49.95

    Comment je peux afficher 49,95 $ (le signe dollar[$] sera après les chiffres et le point[.] sera remplacé par virgule[,]) ?

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Ici, tu veux avoir une culture spécifique : c'est à dire avec une position spécifique du symbole de devise (après le nombre) , un symbole donné ($), et un séparateur de décimal donné (,).

    Donc, on va partir (par exemple) de la française, qui est correcte pour la position du symbole de devise et pour la virgule, mais on la modifier pour le symbole de devise (le passer de '€' à '$', dans le cas précis ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CultureInfo specificCulture = new CultureInfo("fr-FR");
    specificCulture.NumberFormat.CurrencySymbol = "$";
     
    string offer = string.Format(specificCulture, "{0:c}", 10.43);
    et le tour est joué.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Par défaut
    Super Gentil...
    Je ne connaissais pas du tout l'histoire d'une culture spécifique dans c#...
    J'ai regardé avec tes explications... et sur le lien suivant j'ai trouvé aussi la liste : fr-CA French (Canada)

    alors en suivant ton exemple, avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CultureInfo specificCulture = new CultureInfo("fr-CA");
    string offer = string.Format(specificCulture, "{0:c}", 49.95)
    J'obtiens : 49,95 $

    Merci encore

  4. #4
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Autre solution...

    Tu ne spécifies pas la culture (qui est donc par défaut celle de l'utilisateur Windows) et tu modifies la culture dans tes paramètres régionaux quand tu testes la version canadienne de ton programme

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Autre solution...

    Tu ne spécifies pas la culture (qui est donc par défaut celle de l'utilisateur Windows) et tu modifies la culture dans tes paramètres régionaux quand tu testes la version canadienne de ton programme
    Sauf qu'on ne sait pas si il s'agit d'un site multidevise ou pas.
    Et de plus, la culture, sera celle du serveur.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Par défaut
    Merci pour ta réponse, StringBuilder!!!
    Comme Bluedeep dit,
    Citation Envoyé par Bluedeep Voir le message
    Sauf qu'on ne sait pas si il s'agit d'un site multidevise ou pas.
    Et de plus, la culture, sera celle du serveur.



    En fait, mon site est bilingue entre "en-CA English (Canada)" et "fr-CA French (Canada)" donc, cela change...

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

Discussions similaires

  1. [XSLT] XML-->XSLT output format apres transformation avec un x
    Par Hoegaarden dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 06/09/2010, 11h51
  2. [VB]Format de date avec excell
    Par Empty_body dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/02/2006, 14h56
  3. Formater un nombre avec Crystal Reports
    Par Soph70 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 05/07/2005, 19h27
  4. [format des données avec une procédure stockée]
    Par viny dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 10/03/2005, 13h24
  5. problème HD ntfs formaté sous WinXP avec win2000
    Par kalminou dans le forum Windows XP
    Réponses: 7
    Dernier message: 27/08/2003, 17h45

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