[Débutant] Comment ajouter des ' dans un nombre

Résolu
virgul Messages postés 76 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 21 février 2008 - 9 nov. 2005 à 10:49
crougni Messages postés 18 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 3 mars 2009 - 9 nov. 2005 à 14:02
Bonjour,

Voila j'ai une question toute simple dont je n'arrive pas a trouver la réponse

Es-ce que c'est possible avec une méthode de changer n'importe quelle nombre en un nombre avec des ' ?

Si oui comment?

Ex: 1000 devient 1'000

100 reste 100

100000000 devient 100'000'000

Merci pour votre aide!

Thierry

5 réponses

cs_poullos Messages postés 145 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 27 décembre 2005 2
9 nov. 2005 à 11:50
Dans ce cas tu n'as qu'a partir de la fin:



string
tst = Prix;

int lenght = tst.Length;

for (int i = length - 3; i > 0; i-=3)
{
tst = tst.Insert(i, "\'");
}



Sinon je ne connais aucune classe pour faire cela mais la ca devrait marcher
La brigade meurt mais ne se rend pas (Hisoka)
3
cs_poullos Messages postés 145 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 27 décembre 2005 2
9 nov. 2005 à 11:02
Oui c'est possible.

Tu convertis ton nombre en string et tu utilises la methode insert.

Un truc du genre:



int monnombre;

//traitements sur ton nombre

monnombre = 100;

...

//

string tst = monnombre.toString();

int lenght = tst.length;

for (int i = 3; i < length; i+=3)

{

tst.insert(i, '\'');

}



J'ai pas teste mes ca doit marcher en adaptant peut etre un peu

La brigade meurt mais ne se rend pas (Hisoka)
0
virgul Messages postés 76 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 21 février 2008
9 nov. 2005 à 11:46
Salut merci pour ta réponse!

Mais c'est pas tout à fait ca quand même car la tu part du début et pas de le fin ce qui fait:

100'00

ce qui n'est pas tout a fait correct!

et ton code n'étais pas tout a fait correcte le voici corrigé:


string
tst = Prix;
int lenght = tst.Length;
for (int i = 3; i < lenght; i+=3)
{
tst = tst.Insert(i, "\'");
}

D'autre idée? une correction? Mais t'es sure qu'il n'y a pas une méthode, une classe qui te permettte de faire ca plus simplement?

Merci
0
virgul Messages postés 76 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 21 février 2008
9 nov. 2005 à 13:36
Ok merci beaucoup je pensais que si on faisait la boucle dans l'autre sens j'aurais eu une erreur mais non (a cause du saut de 3 en 3)!

bon j'ai encore du rajouter un indexof et quelques trucs pour traiter les nombres décimaux mais ca marche bien

Merci encore

++

Thierry
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
crougni Messages postés 18 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 3 mars 2009
9 nov. 2005 à 14:02
Salut Thierry,



ou bien ceci :



int myInt = 123456789;

NumberFormatInfo nfi = new CultureInfo( "fr-FR", false ).NumberFormat;

nfi.CurrencyGroupSeparator = "\'";

nfi.CurrencySymbol="";

MessageBox.Show( myInt.ToString( "C", nfi ) );



A+

CrougniMan
0
Rejoignez-nous