Convert String to int in Java [Résolu/Fermé]

alvaro - 26 nov. 2003 à 15:18 - Dernière réponse :  abcd
- 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
Afficher la suite 

30 réponses

Nettogrof 526 Messages postés lundi 29 septembre 2003Date d'inscription 8 décembre 2005 Dernière intervention - Modifié par CommentCaMarche le 3/06/2011 à 11:00
+432
Utile
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
Cette réponse vous a-t-elle aidé ?  
Utilisateur anonyme - 12 déc. 2008 à 03:49
+46
Utile
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
JAVAdebutant - 26 avril 2008 à 16:18
+15
Utile
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");
}
rajjjjjjjjjjjjjjjjjjjjjjjjj - 29 déc. 2007 à 13:39
+7
Utile
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
+6
Utile
2
Hello,

essaie ça :

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

test = (String) i;

ça devrait fonctionner
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!
non il faut faire
test=Integer.toString(i);
+6
Utile
1
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
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
+4
Utile
non mais en fait c que je vx faire c du sens inverse à
test = (String) i;
càd passer un String à int
+4
Utile
ca compile ;)
merci
+4
Utile
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!
+4
Utile
2
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?
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
Utilisateur anonyme - 30 juin 2009 à 21:11
Salut,


mon_String = Integer.toString(mon_int, 16);

Cordialement,

Dan
hadj said - 10 mai 2004 à 20:18
+3
Utile
5
salut tout le monde,
comment convertir un string en Integer et l'inverse?
comment savoir un String est il un entier?
merci
tafiscobar 1284 Messages postés jeudi 7 décembre 2000Date d'inscriptionContributeurStatut 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!!!
fady005 358 Messages postés vendredi 16 février 2007Date d'inscription 9 novembre 2017 Dernière intervention > tafiscobar 1284 Messages postés jeudi 7 décembre 2000Date d'inscriptionContributeurStatut 26 février 2009 Dernière intervention - 20 mars 2007 à 10:35
En fait c'est primo, segundo, tertio et quatro...
:-P mdr
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
LeDoc > Ahmed - 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
merci pr votre aide :)
+3
Utile
Salut

Est il possible en java de convertir un tableau de string en int
+3
Utile
1
String txt;

int i;

i=Integer.parseint(txt);

//si les caracteres ne sont pas des chiffres alors i recoit 0
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
chokooooooooooo - 26 avril 2008 à 15:03
+3
Utile
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.
Utilisateur anonyme - 2 févr. 2009 à 04:03
+3
Utile
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
ali kedhai - 31 août 2010 à 12:17
+3
Utile
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.
azerty0 1271 Messages postés samedi 27 octobre 2007Date d'inscription 1 décembre 2013 Dernière intervention - 2 févr. 2008 à 23:04
+2
Utile
1
oui, même question, en C++, quelqu'un saurait passer un string en int ?
<tonString>.StrToInt();
Firas_Tunisie - 28 avril 2010 à 02:10
0
Utile
String montexte = new String(" 10 ");
Integer monnombre=new Integer(montexte);
int i = monnombre.intValue(); //conversion d'Integer en int