Problème Convert.To

Yen69 Messages postés 8 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 7 mai 2005 - 7 mai 2005 à 10:31
Yen69 Messages postés 8 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 7 mai 2005 - 7 mai 2005 à 11:59
Bonjour, voila j'ai un probleme avec les calculs.

using System;

class Class1

{



static void Main(string[] args)

{

string hello = "5+1";

int k = Convert.ToInt32(hello);

Console.WriteLine("" + k);

}

}



Comment convertir le hello en entier?

Je n'arrive pas à comprendre comment faire.

Merci

10 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
7 mai 2005 à 11:04
Salut,
Tu ne peux pas convertir un "5+1" en entier, tout simplement parce que la chaîne de caractère "5+1" n'est pas un entier. Par contre, tu peux convertir "6" en entier, car 6 est un entier.
int hello 5+1; // hello 6string hello2 hello.ToString(); // hello2 "6"int k Convert.ToInt32(hello2); // k 6
Console.WriteLine("{0:N0}", k); // Ecrit 6

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0
Yen69 Messages postés 8 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 7 mai 2005
7 mai 2005 à 11:11
ok mais en faite sur mon programme j'ai un calcul de ce genre



class Class1

{



static void Main(string[] args)

{



int hello = 5;


for(int i =0;i<=5;i++)

{

calcul = Convert.Tostring(hello) +
Convert.Tostring(+i) ;//ou -i seloon les circonstances


int k = Convert.ToInt32(calcul);

Console.WriteLine("" + k);


}
}

}


et la je suis perdu
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
7 mai 2005 à 11:17
qu'est ce qui t'empeche de faire



for(int i =0;i<=5;i++)

{

calcul = hello +
i ;


Console.WriteLine("" + calcul);


}


?
Mx
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
7 mai 2005 à 11:20
Tu essayes de faire quoi exactement ?

class Class1
{

static void Main(string[] args)
{
int hello = 5;

for(int i=0;i<=5;i++)
{
calcul = string.Format("{0}+{1}", hello,
i);

int k = hello + i;
Console.WriteLine("{0}={1}", calcul, k);
}
}
}

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0

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

Posez votre question
Yen69 Messages postés 8 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 7 mai 2005
7 mai 2005 à 11:27
Bah en faite j'ai un ptit bout de programme qui revient quatres fois et j'aimerais le mettre sous une procédure

Random alea = new Random();



int direction = alea.Next() % 3;



int ligne = alea.Next() % 19;



int colonne = alea.Next() % 19;



int i = 0;



bool pris = false;



string calcul
= Convert.ToString(colonne) + Convert.ToString("+i");



if (colonne + bateau[x,2] < 20)



{



do



{




if(ordi[ligne,Convert.ToInt32(calcul)] != "-")




{




pris = true;




}




i++;








}



while(i !bateau[x,2] && pris true);





if(pris ==
false)



{




for(int j = 0;j
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
7 mai 2005 à 11:46
Quelque chose m'echappe la, je crois



Pourquoi tu fait pas :



int calcul = colonne + i;

if(ordi[ligne, calcul] != "-")

{

...

}



et pourquoi vouloir absolument que calcul soit une string ?




Mx
0
Yen69 Messages postés 8 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 7 mai 2005
7 mai 2005 à 11:48
Je veux mettre en procédure ce qui est dans le switch mais le problème
c que dans le tableau il y a un + ou un - selon direction.



for(x=0;x<=bateau.Length-7;x++)

{

for(y=0;y 1)



{



do



{




if(ordi[ligne-i,colonne] != "-")




{




pris = true;




}




i++;



}



while(i !bateau[x,2] && pris true);





if(pris ==
false)



{




for(int j = 0;j<= bateau[x,2]-1;j++)




{




ordi[ligne-j,colonne] =
Convert.ToString(bateau[x,0]);




}




placé = true;



}



}



break;



case 2 :



if (colonne - bateau[x,2] > 1)



{



do



{




if(ordi[ligne,colonne-i] != "-")




{




pris = true;




}




i++;



}



while(i !bateau[x,2] && pris true);





if(pris ==
false)



{




for(int j = 0;j<= bateau[x,2]-1;j++)




{




ordi[ligne,colonne-j] =
Convert.ToString(bateau[x,0]);




}




placé = true;



}



}



break;



case 3 :



if (ligne - bateau[x,2] < 20)



{



do



{




if(ordi[ligne+i,colonne] != "-")




{




pris = true;




}




i++;



}



while(i !bateau[x,2] && pris true);





if(pris ==
false)



{




for(int j = 0;j<= bateau[x,2]-1;j++)




{




ordi[ligne+j,colonne] =
Convert.ToString(bateau[x,0]);




}




placé = true;



}



}



break;

}

}

}

}
0
Yen69 Messages postés 8 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 7 mai 2005
7 mai 2005 à 11:56
int calcul = colonne + i;

if(ordi[ligne, calcul] != "-")

{

...

}

Oui je pourrais le faire mais le probleme cque selon la direction

ca ne sera pas toujours
ordi[ligne, calcul]

en faite voila

suivant direction

case 0


int calcul = colonne + i;

if(ordi[ligne, calcul] != "-")

{

...

}

case 1


int calcul = ligne - i;

if(ordi[calcul,colonne] != "-")

{

...

}

case 2


int calcul = colonne - i;

if(ordi[calcul,calcul] != "-")

{

...

}

case 3


int calcul = ligne + i;

if(ordi[calcul,colonne] != "-")

{

...

}



voila les quatresz cas. mais je voulais faire ca plus simplement et moins long, y'a pas d'autres méthodes?
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
7 mai 2005 à 11:57
Bah oui ca j'ai bien compris, mais ca repond pas a ma question.

Je vois pas en quoi calcul doit etre une string, et donc si tu le convertis en int, quel probleme cela posera ?



Mx
0
Yen69 Messages postés 8 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 7 mai 2005
7 mai 2005 à 11:59
bah en faite javais pas penser a ta manière dont j'ai chercher plus compliquée ^^"

lol

Avec le switch ca fait bcp de ligne mais ca doit être le seul moyen non?
0
Rejoignez-nous