166 votes

Convertir un int en char en java

Vous trouverez ci-dessous un extrait de code,

int a = 1;
char b = (char) a;
System.out.println(b);

Mais ce que j'obtiens est une sortie vide.

int a = '1';
char b = (char) a;
System.out.println(b);

Je vais obtenir 1 comme résultat.

Quelqu'un peut-il expliquer cela ? Et si je veux convertir un int en char comme dans le premier extrait, que dois-je faire ?

4voto

bigpig Points 41
int a = 1;
char b = (char) (a + 48);

En ASCII, chaque caractère a son propre numéro. Et le caractère '0' est 48 en décimal, '1' est 49, et ainsi de suite. Donc si

char b = '2';
int a = b = 50;

2voto

apraetor Points 124

Personne n'a répondu à la vraie "question" ici : vous convertissez correctement int en char ; dans la table ASCII, une valeur décimale de 01 est "début de rubrique", un caractère non imprimable. Essayez de consulter une table ASCII et de convertir une valeur int entre 33 et 7E ; cela vous donnera des caractères à examiner.

2voto

ajay verma Points 101

Chaque fois que vous tapez cast integer to char, il retournera la valeur ascii de cet int (une fois que vous aurez parcouru la table ascii pour mieux comprendre).

    int a=68;
    char b=(char)a;

    System.out.println(b);//it will return ascii value of 68

    //output- D

1voto

matua Points 323

Si nous parlons de types de classe, et non de primitives, l'astuce suivante doit être appliquée :

Integer someInt;
Character someChar;

someChar = (char)Integer.parseInt(String.valueOf(someInt));

1voto

Sirius Bey Points 21

Tout d'abord, convertissez le int (ou un autre type) à String ,

int a = 1;
String value = String.valueOf(a);

Ensuite, convertissez ce String a char .

char newValue = value.charAt(0);

Vous pouvez éviter les sorties vides de cette manière...

System.out.println(newValue);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X