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 :

Comment formater un decimal sous un certain format


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Par défaut Comment formater un decimal sous un certain format
    Bonjour, j'ai un petit probleme.

    Je souhaite formater une valeur decimale a partir de 2 autres valeurs decimales sous un certain format. Ce format concatene les 2 premieres varaiables tout en gardant au minimum 6 chiffres. L'exemple parle mieux

    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    V1 = 12;
    V2 = 46;
     
    //je veux mettre dans V3:
     
    V3 = 012046
    Autres exemples:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    V1 = 1;
    V2 = 1;
     
    //je veux mettre dans V3:
     
    V3 = 001001;
     
    //ou alors
     
    V1 = 158;
    V2 = 985;
     
    //je veux mettre dans V3:
     
    V3 = 158985;
     
    // ou enfin
     
    V1 = 89;
    V2 = 1122;
     
    //je veux mettre dans V3:
     
    V3 = 891122;
    Est-ce possible en laissant V1, V2 et V3 en decimal ?
    Merci

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    V1 = 12;
    V2 = 46;
     
    //je veux mettre dans V3:
     
    V3 = V1*1000 + V2
    pourrais te convenir ?
    Tu divise V2 par différent nombre (10, 100, 1000, 10 000, ....) et tu regard si le résultat est inférieur à 1.
    Si c'est le cas alors tu sais combien de chiffres compose V2 et donc tu peux en déduire par combien tu multiplies V1 (dans le dernier exemple il faut le multiplier par 10 000 et non 1000).

    c'est la même chose que .
    L'affichage du zéro dans une IHM, tu gère cela au moment de l'afficher par le composant qui affiche la valeur.

  3. #3
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    bonjour.
    je pense que oui mais en utilisant une variable intermédiaire du type chaine surement, comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    int V1, V2, V3;
    V1 = V2 = 1;
    string chaine_V1 = V1.tostring();
    switch(chaine_V1.lenght() )
    {
        case 0 : chaine_V1 = "000";break;
        case 1 : chaine_V1 = "00" + chaine_V1;break;
        case 2 : chaine_V1 = "0" + chaine_V1;break;
        //dans le cas où c'est égal à 3, c'est ok
    }
    string chaine_V2 = V2.tostring();
    switch(chaine_V2.lenght() )
    {
        case 0 : chaine_V2 = "000";break;
        case 1 : chaine_V2 = "00" + chaine_V2;break;
        case 2 : chaine_V2 = "0" + chaine_V2;break;
        //dans le cas où c'est égal à 3, c'est ok
    }
     
    //et finalement :
    V3 = int.parse(chaine_V1 + chaine_V2);
    Voilà, cela doit fonctionner même si ce n'est peut-être pas la meilleure solution...

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    J'ai pensé à lui proposer cette solution mais je trouve que c'est lourd.
    Tu crées plein de variable string dans tous les sens.
    Passer par du calcul mathématique c'est mieux je pense.

  5. #5
    Membre Expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Par défaut
    Attention au comportement avec en entrée :
    V1 = 1234
    V2 = 5678

    V3 = ??

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    bah V2 -> 4 chiffres le composants :
    V3 = V1 * 10 000 + V2.
    Aucun problème .

  7. #7
    Membre éclairé Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Par défaut
    Ca m'a l'air bien sympa tout ca, avec les 2 methodes je devrai pouvoir m'en tirer. M

    Merci beaucoup.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/07/2010, 10h34
  2. [C++ ILE] Comment afficher/ouvrir un sous format?
    Par hotus dans le forum AS/400
    Réponses: 2
    Dernier message: 13/08/2007, 18h13
  3. Réponses: 3
    Dernier message: 18/10/2006, 17h08
  4. Réponses: 7
    Dernier message: 28/06/2006, 16h20
  5. [EasyPHP] Comment créé un outil sous format d%u2019un package auto-installable !
    Par moonia dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 28/06/2006, 16h20

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