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 :

Affichage en % sous C#


Sujet :

C#

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Par défaut Affichage en % sous C#
    Bonjour

    J'ai une DataTable sur C# contenant un tas de données, entre autres des pourcentages. Je les ai calculés ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CCT_Evolution_sept_10.Expression = ("(CCT_oct_10 - CCT_sept_10)/CCT_sept_10");
    Le résultat est correcte à la fin, mais l'affichage est médiocre, du genre:

    0,05888446545648764541

    Est ce que quelqu'un pourrait me dire comment afficher ce résultat en 6% par exemple (arrondir le 5,88% )

    Merci d'avance les amis

  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,

    Il faut définir le format dans le contrôle utilisé pour l'affichage. Pour avoir une idée du format à appliquer va voir ici.

    Voici ce que dit la MSDN :
    P ou p


    Pourcentage


    Résultat : nombre multiplié par 100 et affiché avec un symbole de pourcentage.

    Pris en charge par : tous les types numériques.

    Spécificateur de précision : nombre souhaité de décimales.

    Spécificateur de précision par défaut : défini par System.Globalization.NumberFormatInfo.

    Informations supplémentaires : Spécificateur de format pourcentage ("P").


    1 ("P", en-US) -> 100.00 %

    1 ("P", fr-FR) -> 100,00 %

    -0.39678 ("P1", en-US) -> -39.7 %

    -0.39678 ("P1", fr-FR) -> -39,7 %

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Par défaut
    Citation Envoyé par ostenhard Voir le message
    Bonjour,

    Il faut définir le format dans le contrôle utilisé pour l'affichage. Pour avoir une idée du format à appliquer va voir ici.

    Voici ce que dit la MSDN :
    Excuse moi, mais je vois pas très clair ce que tu dis!
    En fait, j'affiche mes résultats sous un Gridview!!

    Y a pas une solution meilleure (ou bien un explication plus compatible à mon cas d'étude)

    Merci

  4. #4
    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
    Euh...

    Peux-tu nous montrer le code utilisé pour afficher les données ?

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Par défaut
    Citation Envoyé par ostenhard Voir le message
    Euh...

    Peux-tu nous montrer le code utilisé pour afficher les données ?
    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
                string cs1 = "DATA SOURCE=bdpbc;PERSIST SECURITY INFO=True;USER ID=bdpbcadmin;PASSWORD=bdpbcadmin123";
                DataTable ENG = new DataTable();
                DataSet DS_ENG = new DataSet();
                string req_eng1 = "select  libe_charge, client.codca , sum(aut_deb), sum(utl_debit), sum(aut_com), sum(utl_come), sum(aut_fct), sum(utl_fcte), sum(aut_cmlt), sum(utl_cmlte), sum(aut_rsp), sum(utl_rspe), sum(aut_esg), sum(utl_esge), sum(impaye), sum(mmm), sum(smv), periode from client  join charge on charge.codca=client.codca join portefeuille on client.id= portefeuille.id join eng_dge@dbcg_bdpbc on eng_dge.cpte=portefeuille.n_cpte where periode = ";            
                string req_eng2 = "'31-oct.-2010' or periode = ";
                string req_eng3 = "'31-déc.-2009' or periode = ";
                string req_eng4 = "'30-sept.-2010'";
                string req_eng5 = "group by client.codca ,libe_charge , periode ";                      
                ENG = Prepar_ENG(cs1, req_eng1+req_eng2+req_eng3+req_eng4+req_eng5);
                DS_ENG.Tables.Add(ENG);
                GridView1.DataSource = DS_ENG.Tables[0];
                GridView1.DataBind();
    Sachant qu'il y a des colonnes dans la table ENG qui contiennent des pourcentage!

    Merci pour ta coopération

  6. #6
    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
    Et le code coté ASPX ? A moins que tu utilises autogeneratedcolumn à True

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Par défaut
    Citation Envoyé par ostenhard Voir le message
    Et le code coté ASPX ? A moins que tu utilises autogeneratedcolumn à True

    je suis pas intéressé maintenant par le code ASPX, car je veux juste vérifier mes résultats, car j'ai 15 tables à traiter, et stocker toutes les données à un état brute, ensuite je m'occuperai de l'affichage final .

  8. #8
    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
    Quand tu dis :
    Le résultat est correcte à la fin, mais l'affichage est médiocre, du genre:

    0,05888446545648764541

    Est ce que quelqu'un pourrait me dire comment afficher ce résultat en 6% par exemple (arrondir le 5,88%)
    Moi je comprends que tu parles d'affichage, après (enfin avant) que dans la DataTable en debug pas à pas tu vois des trucs comme 0,05888446545648764541, moi je dis tant mieux car cet affichage est parfait car c'est le résultat "exact" (ou s'en approchant le plus) !

    En gros de ta dernière réponse, tu veux stocker tes données préformatées pour ensuite les afficher plus tard, ma question l'affichage final devra-t-il appliquer un autre formatage ?

  9. #9
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 163
    Par défaut
    Citation Envoyé par ostenhard Voir le message
    Quand tu dis :


    Moi je comprends que tu parles d'affichage, après (enfin avant) que dans la DataTable en debug pas à pas tu vois des trucs comme 0,05888446545648764541, moi je dis tant mieux car cet affichage est parfait car c'est le résultat "exact" (ou s'en approchant le plus) !

    En gros de ta dernière réponse, tu veux stocker tes données préformatées pour ensuite les afficher plus tard, ma question l'affichage final devra-t-il appliquer un autre formatage ?
    Oui en effet le formatage final ne doit pas contenir des valeurs affichées ainsi!

  10. #10
    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
    Réexplique les traitements que tu souhaites faire car là......

    Mon avis, il faut bosser avec les valeurs "réelles" avec beaucoup de précision pendant tout le traitement, ensuite dans ton fichier .aspx tu appliques le formatage sur tes colonnes, ce sera un formatage du style "P0".

Discussions similaires

  1. Pb d'affichage de sous formulaire
    Par Didi17 dans le forum Access
    Réponses: 7
    Dernier message: 28/10/2005, 04h48
  2. [crystal report 8.5] Pb d'affichage de sous états
    Par abdel6908 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 06/06/2005, 11h42
  3. Affichage parasite sous Firefox
    Par Steph4fun dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 04/02/2005, 16h05
  4. Affichage graphique sous forme de tableau.
    Par eulone dans le forum C++
    Réponses: 2
    Dernier message: 24/11/2004, 21h34
  5. Affichage étrange sous directGraphic
    Par Cyrik dans le forum DirectX
    Réponses: 7
    Dernier message: 13/09/2003, 14h29

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