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 nombre en string


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 72
    Par défaut Formatage nombre en string
    Bonjour,

    Je souhaite formater un nombre afin d'inserer une virgule lorsqu'il est affiché.
    Je m'explique :
    je stocke des montants, mais sans la virgule, en base de centimes.
    Par exemple 12,00€ ==> 1200
    0,40€ ==> 40

    ce que je souhaite, c'est pouvoir appliquer un masque ou un Format afin d'afficher 12,00 ou 12.00 lorsque je fait value.ToString(format).
    Dasn l'application cela ne pose pas de problème vu que j'utilise des maskedtextbox, mais la le soucis est lorsque je genère un fichier RTF.

    J'ai regardé du coté de la fonction statique Format de l'aide MSDN, notament cet exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    value = 86000;
          Console.WriteLine(value.ToString("0.###E+0", CultureInfo.InvariantCulture));
    	   // Displays 8.6E+4
    en enlevant le E+0 car ça ne m'interesse pas, mais sans succès

    D'avance merci

    Bonne journée

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bonjour,

    MSDN est ton ami

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 230
    Par défaut
    regarde string.format

    ex

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
              this.labelttHT.Text = String.Format("{0:C}", resultattotal);
    cela permet de formater du style "12.34 euros"

    je sais pas si c'est ce que tu demande

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 72
    Par défaut
    Merci de vos réponses,

    J'ai beau eplucher tout ce qui tourne autour de String.Format, je ne voit rien qui puisse faire ce que je veux, c'est à dire passer de 1200 à 12.00 par exemple :s

    @lovedesitaliens
    Merci, mais le formatage par la devise m'affche 1200,00 € du coup, alors que je voudrais 12,00 €.

    C'est bizarre que c'est fesable à travers les maskedtextbox et leurs masks, mais pas via Format :s

  5. #5
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Bonjour,

    Pour appliquer un masque sur un string, il faut utiliser la syntaxe suivante : {0:00.0#}

    Dans ton premier exemple, tu n'as pas mis le '0:' au début.

    Donc ça deviendrait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    value.ToString("{0:00.00} EUR", CultureInfo.InvariantCulture)
    pour passer de '1200' à '12.00 EUR'.

    En espérant t'avoir aidé
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  6. #6
    Membre éclairé
    Inscrit en
    Mai 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 72
    Par défaut
    Merci de ta réponde Matt07,
    malheuresement, lorsque je fait comme tu dis (et comme c'est écrit sur MSDN), je ne me retrouve pas avec 12.00, mais avec qqch d'assez farfelu => {12:00.00}
    :o

Discussions similaires

  1. probleme formatage nombre
    Par coold dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 23/09/2008, 16h40
  2. formatage avec std::string
    Par hpfx dans le forum SL & STL
    Réponses: 2
    Dernier message: 21/09/2008, 13h57
  3. [CR XI] formatage nombre décimaux
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 26/09/2006, 14h31
  4. Sum et formatage nombre
    Par cari dans le forum Oracle
    Réponses: 8
    Dernier message: 30/05/2006, 18h32
  5. formatage d'un string
    Par mmz dans le forum Langage
    Réponses: 6
    Dernier message: 03/05/2006, 11h04

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