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

VB.NET Discussion :

incrementation d'un nombre


Sujet :

VB.NET

  1. #1
    Membre actif
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 29
    Par défaut incrementation d'un nombre
    bonjour,

    j'ai un nombre comme suit: 0001.lorsque j'incrémente ce nombre de +1 il me donne 2 .alors moi je veux mon résultat soit: 0002
    que dois je faire ?

    Merci

  2. #2
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Bonjour,

    peux tu détailler l’intérêt de conserver 3 zéros devant?
    *j'ai bien des idées mais elles sont un peut brutales*

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 128
    Par défaut
    tu dois travailler avec les nombres en string

    essayes ce format
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String.Format ( "000{0}", nombre )

  4. #4
    Membre actif Avatar de ToshiroSama
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 77
    Par défaut
    je ne crois pas que cela resoudra son problème les trois 0 sont fixe dans ton cas et donc au dela de 0009 ca posera problème. ^^

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 128
    Par défaut
    elle va ajouter des cas

    si nombre.lenght=1
    "000{0}
    si nombre.lenght=2
    "00{0}
    si nombre.lenght=3
    "0{0}

    et ça va faire son affaire, n'est ce pas?

  6. #6
    Membre actif Avatar de ToshiroSama
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 77
    Par défaut
    elle va ajouter des cas

    si nombre.lenght=1
    "000{0}
    si nombre.lenght=2
    "00{0}
    si nombre.lenght=3
    "0{0}

    et ça va faire son affaire, n'est ce pas?
    =4 =5 =6 ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String.Format("{0:0000}", tonEntier);
    cette ligne te permet de dire que mes entier je les veux sur 4 caractères. après tu peux mettre 0:00000 ... ^^' en tout cas pas besoin de if's

  7. #7
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 128
    Par défaut
    oui t'as raison!
    tu aurais du lui donner ça directement!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String.Format("{0:0000}", nombre)

  8. #8
    Membre actif Avatar de ToshiroSama
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 77
    Par défaut
    je connaissais pas mais une petite recherche Google ... le premier lien en plus
    Comme quoi ca pourrait être plus simple de cherche sur google avant de passer par un forum

  9. #9
    Membre actif
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 29
    Par défaut
    je m'explique :
    alors je veux faire un numéro automatique pour ma table mission.ce numéro je l'ai codifié comme suit: MIS110001 donc je veux a chaque ajout d'un enregistrement ce numéro s’incrémente en +1 c'est a dire :MIS110002.

    pour incrémenté ce numéro j 'ai récupérer le 0001 et je fais +1 mais ça na pas marché car lorsque je fais l incrémentation il me donne 2 pas 0002 pour que je rajoute ce nombre a ce numéro de mission pour qu'il me donne MIS110002

    voila mon problème

  10. #10
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 194
    Par défaut
    Citation Envoyé par enacta Voir le message
    je m'explique :
    alors je veux faire un numéro automatique pour ma table mission.ce numéro je l'ai codifié comme suit: MIS110001 donc je veux a chaque ajout d'un enregistrement ce numéro s’incrémente en +1 c'est a dire :MIS110002.

    pour incrémenté ce numéro j 'ai récupérer le 0001 et je fais +1 mais ça na pas marché car lorsque je fais l incrémentation il me donne 2 pas 0002 pour que je rajoute ce nombre a ce numéro de mission pour qu'il me donne MIS110002

    voila mon problème
    le problème vient du fait que tu ne vois pas les choses au sens informatique
    un nombre est un nombre, 0001 vaut 1 qui de toute facon est traité en binaire
    ton 0001 n'est qu'une représentation visuelle du nombre (en string)
    faire une addition sur un string n'existe pas, donc déjà tu as écrit du code un peu border line comme on dit (par défaut vb laisse écrire n'importe quoi mais on peut mettre option strict on dans les propriétés du projet ou de vs)
    le problème reformulé donnerais donc je voudrais compléter un nombre avec des 0 devant
    pour ca il y a padleft sur la classe string, ou encore .ToString qui a une surcharge qui demande le formatage à appliquer
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Membre actif Avatar de ToshiroSama
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 77
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for(int i = 0; i<9999;i++)
    {
    // TODO : je sais pas quoi 
    "MIS11" + String.Format("{0:0000}", nombre); 
    // TODO : je sais pas quoi
    }
    ca devras donné quelques chose du genre MIS110000, MIS110001 ... jusqu'à MIS119998 ... bon après tu adapte ca a ton code.
    - sur combien tu veux écrire ton chiffre ? 0:000..
    - ta partie fixe MIS11 ? ou juste MIS ?
    - boucler de 0 a .. ou de 110000 a ...

    enfin l'idée est là, la baguette magique n'existe pas. par contre tu as un clavier

Discussions similaires

  1. [SQL] Commencer increment id à partir d'un nombre donné
    Par Flushovsky dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/10/2007, 15h52
  2. alter sequence increment by (select..) nombre non valid!?
    Par scofield dans le forum Sql*Plus
    Réponses: 24
    Dernier message: 13/09/2007, 01h40
  3. définir l'auto increment manuellement à un nombre donné
    Par cortex024 dans le forum Modélisation
    Réponses: 11
    Dernier message: 28/06/2007, 12h34
  4. définir l'auto increment manuellement à un nombre donné
    Par cortex024 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/05/2007, 09h43
  5. Réponses: 4
    Dernier message: 16/05/2006, 17h27

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