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

Signaler
Messages postés
2
Date d'inscription
samedi 12 février 2011
Statut
Membre
Dernière intervention
12 mai 2011
-
Messages postés
2
Date d'inscription
samedi 12 février 2011
Statut
Membre
Dernière intervention
12 mai 2011
-
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 !!!

2 réponses

Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
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
Messages postés
2
Date d'inscription
samedi 12 février 2011
Statut
Membre
Dernière intervention
12 mai 2011

Merci beaucoup jopop ! C'est exactement ce qu'il me fallait.
Problème résolu Merci encore :)