Convert String to int in Java

Résolu
alvaro -  
 abcd -
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
A voir également:

18 réponses

Nettogrof Messages postés 521 Date d'inscription   Statut Membre Dernière intervention   672
 
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
447
Utilisateur anonyme
 
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
46
JAVAdebutant
 
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");
}
16
rajjjjjjjjjjjjjjjjjjjjjjjjj
 
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
8

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

Posez votre question
bou
 
Hello,

essaie ça :

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

test = (String) i;

ça devrait fonctionner
7
Al
 
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!
0
bob
 
non il faut faire
test=Integer.toString(i);
0
ocelette
 
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
6
bonhomme
 
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
0
alvaro
 
non mais en fait c que je vx faire c du sens inverse à
test = (String) i;
càd passer un String à int
4
alvaro
 
ca compile ;)
merci
4
pierreg27
 
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
Nico
 
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?
4
LeDoc
 
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 :
https://docs.oracle.com/javase/1.5.0/docs/api/

Bon courage,
Jérôme
0
Utilisateur anonyme
 
Salut,


mon_String = Integer.toString(mon_int, 16);

Cordialement,

Dan
0
hadj said
 
salut tout le monde,
comment convertir un string en Integer et l'inverse?
comment savoir un String est il un entier?
merci
3
tafiscobar Messages postés 1277 Date d'inscription   Statut Contributeur Dernière intervention   177
 
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!!!
0
fady005 Messages postés 351 Date d'inscription   Statut Membre Dernière intervention   78 > tafiscobar Messages postés 1277 Date d'inscription   Statut Contributeur Dernière intervention  
 
En fait c'est primo, segundo, tertio et quatro...
:-P mdr
0
Ahmed
 
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
0
LeDoc > Ahmed
 
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
0
lam
 
merci pr votre aide :)
0
la tulipe
 
Salut

Est il possible en java de convertir un tableau de string en int
3
h__walid
 
String txt;

int i;

i=Integer.parseint(txt);

//si les caracteres ne sont pas des chiffres alors i recoit 0
3
ocelette
 
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
0
chokooooooooooo
 
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.
3
Utilisateur anonyme
 
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
3
ali kedhai
 
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.
3
azerty0 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   75
 
oui, même question, en C++, quelqu'un saurait passer un string en int ?
2
abcd
 
<tonString>.StrToInt();
0
Firas_Tunisie
 
String montexte = new String(" 10 ");
Integer monnombre=new Integer(montexte);
int i = monnombre.intValue(); //conversion d'Integer en int
-1