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 nombre avec des zéros au début ?


Sujet :

C#

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Comment formater un nombre avec des zéros au début ?
    Bonjour

    Je viens une nouvelle fois de parcourir la jungle de la doc concernant les formatages en .NET, rien n'est moins clair, rien n'est plus dispersé !

    J'aimerais formater un integer sur deux digit AVEC leading zero
    Je sais le faire sur deux digit SANS leading zero

    MonHeure=string.format("{0,2}:{1,2}",heures,minutes);
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  2. #2
    Invité
    Invité(e)
    Par défaut
    en VB tu as un objet Format qui permet de fomarter la une heure ou une date avec le format que tu veux.

    exemple: Format(heureAFormater, "HH:MM"), il me semble que c'est de ce gout là.

    Sachant que l'on retrouve beaucoups de similitude dans classe VB et C#, je pense que tu devrais trouver quelques choses dans cet esprit là.

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci,

    Mais ca ne reponds pas vraiment a la question, car si ce n'est pas une heure, je ne sais toujours pas comment mettre des leading zero !
    Et pratiquement je travaille avec deux entiers heures et minutes, pas une variable time !
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  4. #4
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    String.Format("{0:00}", 1) -> 01

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 58
    Points : 61
    Points
    61
    Par défaut
    Salut,

    C'est ça que tu veux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String.Format("{0:hh:mm}",heures < 0 || heures > 23 ?  "00" : heures.ToString().PadLeft(2, '0')) + ":" + (minutes < 0 || minutes > 59 ? "00" : minutes.ToString().PadLeft(2, '0')))
    Sinon, j'ai pas compris ton problème

    @+

  6. #6
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci neptune

    Infosteph : tu complique la réponse de neptune est tout a fait ce que je cherchais

    Petit point quand meme, j'ai aussi trouvé {02} quelle est la difference avec {0:00} ?
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  7. #7
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Citation Envoyé par olibara Voir le message
    Je viens une nouvelle fois de parcourir la jungle de la doc concernant les formatages en .NET, rien n'est moins clair, rien n'est plus dispersé !
    Ca me semble bien centralisé pourtant

    http://msdn2.microsoft.com/fr-fr/lib...sy(VS.80).aspx
    Pas de questions techniques par MP

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 58
    Points : 61
    Points
    61
    Par défaut
    Citation Envoyé par olibara Voir le message
    Merci,
    Mais ca ne reponds pas vraiment a la question, car si ce n'est pas une heure, je ne sais toujours pas comment mettre des leading zero !
    Et pratiquement je travaille avec deux entiers heures et minutes, pas une variable time !
    Petites questions sur ton leading zero que tu veux faire :

    C'est juste pour mettre un zéro devant le 1 comme dans l'exemple de neptune ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String.Format("{0:00}", 1) -> 01
    Ou tu voulais aussi l'utilisé lorsque l'heure n'était pas comprise dans la plage des 24 ?

    @+

  9. #9
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci Stormimon

    Je connaissais ce lien, FR et EN

    Mais il y en a pour une bonne nuit de lecture avant de tomber sur l'info qui m'intéressait (et encore ). Ne crois pas que je nie ce genre d'info tres complete et détaillée mais ce n'est pas forcément ce que l'on a envie de lire quand on est confronté a un probleme tout simple et immédiat !


    En deux minutes les compétences ici permettent de gagner des heures de chipo et d'agacement a lire cette doc de long en large

    Cela dit, je ne connais toujours pas la différence entre "{0:00}" et {02}

    Merci aussi infosteph d'insister sur ta mecanique d'exploitation des différents format heures, mais je cherchais simplement a formater un integer avec un leading zero (que ce soit des minutes, des heure ou l'age du capitaine stormimon)
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  10. #10
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Citation Envoyé par olibara Voir le message
    Mais il y en a pour une bonne nuit de lecture avant de tomber sur l'info qui m'intéressait (et encore ). Ne crois pas que je nie ce genre d'info tres complete et détaillée mais ce n'est pas forcément ce que l'on a envie de lire quand on est confronté a un probleme tout simple et immédiat !
    Alors plutôt que dire
    Je viens une nouvelle fois de parcourir la jungle de la doc concernant les formatages en .NET, rien n'est moins clair, rien n'est plus dispersé !
    Admet plutôt que tu as la flemme de lire un pavé de texte qui contient la réponse (au passage le pavé en question est clair), parce que ça prendrait du temps compte tenu du petit problème posé.

    En deux minutes les compétences ici permettent de gagner des heures de chipo et d'agacement a lire cette doc de long en large
    Si tout le monde faisait ça, admet que cela ferait une sacré pollution à l'usage. Les cours, tuto, articles, MSDN, ... ne sont pas là que pour faire joli. Il faut savoir y mettre du sien parfois. Quand on trouve un article contenant la solution mais qu'on a trop la flemme de lire l'article en question, j'appelle ça du foutage de gueule.

    Mais une bonne nuit de lecture, ça signifie que tu ne sais pas lire en diagonale ou exploiter la MSDN. Parce que bon, en bas de la page, dans les liens utiles tu trouves "Chaînes de format numériques". Quand tu cliques dessus tu tombes sur formats standard ou personnalisé. Tu tentes alors "Chaînes de format numériques personnalisées". La tu tombes sur un nouveau pavé avec tout en bas "Exemples de sortie de chaînes de format numériques personnalisées". Ça prends quelques secondes, on est loin de la nuit annoncée.

    Cet aparté fait, qui n'engage que moi, et pour répondre à la question
    Cela dit, je ne connais toujours pas la différence entre "{0:00}" et {0:D2}
    http://msdn2.microsoft.com/fr-fr/lib...9k(VS.80).aspx
    D ou d : Décimal

    Ce format est pris en charge par les types intégraux uniquement. Le nombre est converti en une chaîne de chiffres décimaux (0-9), précédée d'un signe moins si le nombre est négatif.

    Le spécificateur de précision indique le nombre minimal de chiffres voulu dans la chaîne résultante. Le cas échéant, des zéros sont ajoutés à la gauche du nombre afin de fournir le nombre de chiffres déterminé par le spécificateur de précision.
    Pas de questions techniques par MP

Discussions similaires

  1. formater un nombre avec des zeros à gauche
    Par roger789 dans le forum Débuter
    Réponses: 0
    Dernier message: 18/04/2011, 22h32
  2. Fomatter un nombre avec des zéro à gauche
    Par birt1976 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/10/2008, 17h02
  3. Réponses: 8
    Dernier message: 27/10/2008, 16h52
  4. Formater un nombre avec des séparateurs de milliers
    Par lagotonio dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/02/2007, 19h23
  5. Comment formater un nombre avec PHP
    Par loan33 dans le forum Langage
    Réponses: 5
    Dernier message: 27/10/2006, 08h41

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