Algorithme pour incrementer un Int sous forme de String , commencant par des 00 [Résolu]

Messages postés
2
Date d'inscription
samedi 12 février 2011
Dernière intervention
12 mai 2011
- - Dernière réponse : blackchocoby
Messages postés
2
Date d'inscription
samedi 12 février 2011
Dernière intervention
12 mai 2011
- 12 mai 2011 à 15:51
Bonjour à tous !

Alors voila j'ai un petit souci! À ' l aide d'une query SQL j’obtiens un String, représentant un Int commençant par des 0. Exemple 0012109000049
Pour mon programme j'ai besoin d'incrémenter ce "string" pour ensuite l'afficher. Ainsi l'incrémentation de 0012109000049 sera 001210900050!
Les zéros doivent rester présents! J'ai donc pensé mon petit algorithme qui je ne suis sur n'est pas idéal ! Je vais vous le montrez et si quelqu’un à une meilleur idée je suis très preneur!

string res = null;
//Ici requête SQL que je ne vais pas mentionner
res = _currentContext.XXX.ExecuteScalarHelper(query) as string;
// On va incrémenter, le numéro je rappel que res vaut par exemple 0012109000049
int i=0;
long temp = 0;
while (res[0] == '0') { res = res.Substring(1, res.Length - 1); i++; }
//on as enlevé i 0 à res! Et res est maintenant dans un format autorisant le convert
temp = Int64.Parse(res);
temp++;
//Notre valeur est incrémenter il faut maintenant ajouter les 0 correspondant en vérifiant bien que le nombre est exacte

Et donc la j'ajoute mes 0 avec un padding left! Bon mon algo n’est pas top car si jamais le chiffre était 000999999999 ben avec mon algo je vais me retrouver avec un 0 en trop devant ! Pouvez-vous m'aider? Ca serait gentil merci !!!
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Dernière intervention
1 août 2013
3
Merci
Salut,

en C# tu peux utiliser une surcharge de la méthode ToString() pour les int qui prend en paramètre un format (string). Ex. :
int i = 123;
string stri = i.ToString("00000000");
// stri prend la valeur : "00000123"

Tu n'auras donc qu'à incrémenter un int normal et utiliser ToString() pour l'avoir son ce format.

bon code

Merci cs_jopop 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_jopop
Messages postés
2
Date d'inscription
samedi 12 février 2011
Dernière intervention
12 mai 2011
0
Merci
Merci beaucoup jopop ! C'est exactement ce qu'il me fallait.
Problème résolu Merci encore :)
Commenter la réponse de blackchocoby

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.