Posez votre question Signaler

Convert String to int in Java [Résolu]

alvaro - Dernière réponse le 27 août 2012 à 14:05
Bonjour tt le monde,
Une petite question par rapport à la conversion de types en java,
pour passer un type char to int on fait:
int nbr = + caractere;
c'est magique ça convertit en entier le caractère
mais pour passer un String to int aucune idée qqun pourrait m'aider???
merci et volontaire à tts réponses
J'ai utilisé la fonction atoi qu'on utilise d'habitude en C pour c genre de cas mais je connais pas trop la syntax
Lire la suite 
Réponse
+340
moins plus
Salut...

Voici la solution pour String->int

String phrase = "12";
int i;

i = Integer.parseInt(phrase);


Histoire de Java

Programmation Java

Télécharger Java Runtime environnement
Ajouter un commentaire
Réponse
+41
moins plus
Salut,

Une récapitulation s'impose peut-être:


LISTE DES SUJETS CONSULTÉS

Volontairement pour ces exemples les exceptions ne figurent pas, voir le paragraphe "EXEMPLE DE CATCH".

27 Convertir un STRING en INT.
>>>> int mon_int = Integer.parseInt(mon_String);
Avant conversion :
mon_String = "-1234567890";
mon_int = 0;

Résultat :
mon_int = -1234567890;


28 Convertir un STRING en INT (erreur non num.).
>>>> int mon_int = Integer.parseInt(mon_String);
Avant conversion :
mon_String = "123.50";
mon_int = 0;

Mais mon_String à convertir en int "123.50"
ne doit contenir que du numérique !!!

Résultat :
mon_int = 0;


29 Convertir un STRING en INT (erreur limites int).
>>>> int mon_int = Integer.parseInt(mon_String);
Avant conversion :
mon_String = "-2200000000";
mon_int = 0;

Mais mon_String à convertir en int "-2200000000"
doit contenir une valeur de
-2147483648 à 2147483647 !!!

Résultat :
mon_int = 0;


EXEMPLE DE CATCH :

Vous voulez:
Convertir un STRING en INT

Voici par exemple comment faire:

try
{
int mon_int = Integer.parseInt(mon_String);
}
catch (NumberFormatException nfe)
{
int valmin = Integer.MIN_VALUE;
int valmax = Integer.MAX_VALUE;
info = "mon_String à convertir en int \"" + mon_String + "\"" + nL2

+ "doit contenir une valeur de " + nL1
+ valmin + " à " + valmax + " !!!" + nL2

+ "OU" + nL1
+ "ne doit contenir que du numérique !!!";
javax.swing.JOptionPane.showMessageDialog(null,info);
return "";
}


Et l’inverse pour hadj :

Pas d'exception puisqu'on converti un Integer (donc format forcément correct) en String.

25 Convertir un INT en STRING (1).
>>>> String mon_String = Integer.toString(mon_int);
Avant conversion :
mon_String = "Avant conversion";
mon_int = -1234567890;

Résultat :
mon_String = "-1234567890";


26 Convertir un INT en STRING (2).
>>>> String mon_String = mon_String.valueOF(mon_int);
Avant conversion :
mon_String = "Avant conversion";
mon_int = 1234567899;

Résultat :
mon_String = "1234567899";

Cordialement,

Dan
Ajouter un commentaire
Réponse
+12
moins plus
Salut,

je crois qu'il faut traiter le cas ou "txt" n'est pas un entier, dans ce cas le programme lance une exception, de type "NumberFormatException"

comme ça marche:

try{
int i =Integer.ParseInt(txt);
}
catch(NumberFormatException e){
System.out.println(txt+" ne peut pas être convertir en entier");
}
Ajouter un commentaire
Réponse
+6
moins plus
for (int i=0;i<3;i++){
reel[i]=Integr.parseInt(chaine[i]);}

essayé de faire ca
reel[] est un tableau de integer
chaine[] est un tableau de string
Ajouter un commentaire
Réponse
+5
moins plus
Hello,

essaie ça :

int i = 50;
String test = new String();

test = (String) i;

ça devrait fonctionner
Al- 22 févr. 2007 à 11:16
int i = 50;
String test = new String();

test = (String) i;

Ca marche pas ca si? Tu peux pas caster un int vers un String il me semble!
Répondre
bob- 9 janv. 2011 à 12:02
non il faut faire
test=Integer.toString(i);
Répondre
Ajouter un commentaire
Réponse
+5
moins plus
Bonjour,

Euh au risque d'être lourde... :p

Pour la conversion de caractère en int ca ne marche ke si lé caractère en kestion sont des nombres... alors si se sont de vré caractères koment kon fé?! (par exemple "Bonjour" comment kon fé pour le convertir en nombre?)

Merci de me répondre :)
A bientot
bonhomme- 11 déc. 2008 à 20:20
cas ou le string est une chaine de caractere:
et bien pour Bonjour,tu convertis tour à tour chacuns des caracteres en int(vive les boucles),avec la methode charAt(),

cad:
int []tableau_ascii=new int["Bonjour".length()];

for(int i=0;i<"Bonjour".length();i++){
tableau_ascii [ i ] = ( +"Bonjour".charAt(i) ); //METHODE VUE PLUS HAUT
}
//et donc tableau_ascii est ton tableau qui contient la sequence de "Bonjour" en ascii
Répondre
Ajouter un commentaire
Réponse
+4
moins plus
non mais en fait c que je vx faire c du sens inverse à
test = (String) i;
càd passer un String à int
Ajouter un commentaire
Réponse
+4
moins plus
Ajouter un commentaire
Réponse
+4
moins plus
salut ma question est sensiblement pareil mais pas tout a fait!

je dois convertir chaque nombre d'une string (qui ne contient que des nombre) en int

j'ai essayer tout ce que vous avez écrit plus au mais ça ne correspond pas a mon problème.

j'ai une string contenant un NAS ex: 123456782

et je dois auditionner chacun de ces nombre

donc j'essaie de faire une boucle mais je n'arrive pas a mettre seulement un nombre dans ma variable int a additionner
ou elle me met des valeur inexacte 49,50,51,52

for(int j=0;j<9;j++){
//Integer.parseInt(input.charAt(j));
//nombre[j] = input.charAt(j);
total = input.charAt(j);
}

voici les 2 chose que j'ai essayé, merci de votre aide!
Ajouter un commentaire
Réponse
+4
moins plus
Bonjour,

J'ai une petite question :
Nous avons vu dans ce post que pour convertir un String en entier il fallait faire :
String test = "12";
int i = Integer.parseInt(test);


J'ai un String. J'aimerais si possible convertir ce string en int base 16. Dans l'exemple ci-dessus on aurait par exemple :
String test = "0x04";

Comment est-ce que je peux procéder?
LeDoc- 30 juin 2009 à 19:53
Présentement je ne vois pas, il faut chercher un peut. Je peux te donner des pistes en te disant de regarder s'il existe une classe java pour gérer les haxedécimaux (si c'est bien ça !). Et regarder si cette dite classe contient un fonction qui permet ce type de convertion.

Dans l'exemple au-dessus, on a la classe java.lang.Integer qui contient la fonction parseInt. Fonction qui a partir d'une string contenant une série de chiffre retourne un entier.

Ce n'est que des piste, je suis au travail je n'ai pas le temps de chercher cette classe. En revanche si tu trouve la classe, fait moi signe, ça peut être intéressant.

Tu trouvera toute la javaDoc des classes de base de java :
http://java.sun.com/j2se/1.5.0/docs/api/

Bon courage,
Jérôme
Répondre
Utilisateur anonyme - 30 juin 2009 à 21:11
Salut,


mon_String = Integer.toString(mon_int, 16);

Cordialement,

Dan
Répondre
Ajouter un commentaire
Réponse
+3
moins plus
salut tout le monde,
comment convertir un string en Integer et l'inverse?
comment savoir un String est il un entier?
merci
tafiscobar 1284Messages postés jeudi 7 décembre 2000Date d'inscription ContributeurStatut 26 février 2009 Dernière intervention - 10 mai 2004 à 20:48
Primo : http://www.commentcamarche.net/ccmguide/ccmcharte.php3

Segundo : lorsque l'on arrive a un post, avant de reposer la meme question, on lit calmement les reponses.

Troisio (ça se dit??): lorsqe l'on veut poser une nvelle question et que la reponse n'a pas deja été faite, on ouvre un nouveau post.

quatriéement : non rien, c'est trop coua !!!

tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
Répondre
fady005 355Messages postés vendredi 16 février 2007Date d'inscription 30 janvier 2015 Dernière intervention - 20 mars 2007 à 10:35
En fait c'est primo, segundo, tertio et quatro...
:-P mdr
Répondre
Ahmed- 7 juin 2007 à 10:37
Salut Frere
A propos converstio, pour convertir de String to int vous utliser la fontion ParseInt de la classe Integer " Integer.ParseInt(Char c) "
et pour l'inverse ous utiliser la fonction ValueOf de la classe String
" String.ValueOf(int i)".
Bon courage
Répondre
LeDoc- 19 mars 2008 à 09:19
c'était juste pour préciser que value ne prend pas de majuscule. Il faut faire atention sinon sa ne compile pas /!\
donc la syntaxe :
String.valueOf(int lentier); // ceci retourne un entier
Répondre
lam- 17 juin 2011 à 02:49
merci pr votre aide :)
Répondre
Ajouter un commentaire
Réponse
+3
moins plus
Salut

Est il possible en java de convertir un tableau de string en int
Ajouter un commentaire
Réponse
+3
moins plus
String txt;

int i;

i=Integer.parseint(txt);

//si les caracteres ne sont pas des chiffres alors i recoit 0
ocelette- 5 mars 2008 à 23:04
Merci :)
En fait, depuis je suis passée totalement à autre chose et je block sur l'envoi d'email... :s
Mais c'est très sympas de m'avoir répondu
Biz
Répondre
Ajouter un commentaire
Réponse
+3
moins plus
String txt;

int i;

i=Integer.parseint(txt); //elle ne donne pas 0 lorsque txt n'est pas un chiffre

SVP il faut toujours vérifier avant de donner des informations.
merci.
Ajouter un commentaire
Réponse
+3
moins plus
Salut,

Tu veux, avec ce string mon_String = "123456782", faire 1+2+3+4+5+6+7+8+2 ?

Si oui:

String mon_String = "123456782";

String unCar = "";
int total = 0;

for(int j=0;j<9;j++)
{
unCar = mon_String.substring(j, (j+1));
System.out.println("unCar = " + unCar);
total = total + Integer.parseInt(unCar);
}
System.out.println("total = " + total);

Ou bien sans détailler:


String mon_String = "123456782";
int total = 0;

for(int j=0;j<9;j++)
total = total + Integer.parseInt(mon_String.substring(j, j+1));
System.out.println("total = " + total);

Si non dis moi.

Cordialement,

Dan
Ajouter un commentaire
Réponse
+3
moins plus
Pour convertir une chaine de caractères de type String (qui contient exclusivement un nombre entier) en une zone de travail de type int; faire comme suit :
// ---> début ------------
String wChaine;
wChaine="12";
int wMois;
wMois=Integer.parseInt(wChaine);
// ---> fin ---------------

Bonne continuation.
Ajouter un commentaire
Réponse
+2
moins plus
oui, même question, en C++, quelqu'un saurait passer un string en int ?
abcd- 27 août 2012 à 14:05
<tonString>.StrToInt();
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
String montexte = new String(" 10 ");
Integer monnombre=new Integer(montexte);
int i = monnombre.intValue(); //conversion d'Integer en int
Ajouter un commentaire
Ce document intitulé «  convert String to int in Java  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

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.

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