Comment puis-je convertir un caractère en int en Java?

(Je suis nouveau en programmation Java)

J’ai par exemple:

char x = '9'; 

et je dois obtenir le nombre dans les apostrophes, le chiffre 9 lui-même. J’ai essayé de faire ce qui suit,

 char x = 9; int y = (int)(x); 

mais ça n’a pas marché.

Alors, que dois-je faire pour obtenir le chiffre dans les apostrophes?

En l’occurrence, la valeur ascii / unicode du caractère '9' est neuf supérieure à la valeur de '0' (de même pour les autres chiffres).

Ainsi, vous pouvez obtenir la valeur int d’un caractère numérique décimal en utilisant la soustraction.

 char x = '9'; int y = x - '0'; // gives 9 

Si vous avez le caractère char '9' , il stockera son code ASCII, donc pour obtenir la valeur int, vous avez 2 façons

 char x = '9'; int y = Character.getNumericValue(x); //use a existing function System.out.println(y + " " + (y + 1)); // 9 10 

ou

 char x = '9'; int y = x - '0'; // substract '0' code to get the difference System.out.println(y + " " + (y + 1)); // 9 10 

Et c’est un fait, ça marche aussi:

 char x = 9; System.out.println(">" + x + "<"); //> < prints a horizontal tab int y = (int) x; System.out.println(y + " " + (y + 1)); //9 10 

Vous stockez le code 9 , qui correspond à un horizontal tab (vous pouvez voir quand print as Ssortingng , mais vous pouvez aussi l'utiliser aussi int que vous voyez ci-dessus

Vous pouvez utiliser des méthodes statiques de la classe Character pour obtenir une valeur numérique à partir de char.

 char x = '9'; if (Character.isDigit(x)) { // Determines if the specified character is a digit. int y = Character.getNumericValue(x); //Returns the int value that the //specified Unicode character represents. System.out.println(y); } 

Si vous voulez obtenir la valeur ASCII d’un caractère, ou simplement le convertir en int, vous devez convertir un caractère en int.

Qu’est-ce que le casting? La conversion survient lorsque nous convertissons explicitement un type de données primitif, ou une classe, en un autre. Voici un bref exemple.

 public class char_to_int { public static void main(Ssortingng args[]) { char myChar = 'a'; int i = (int) myChar; // cast from a char to an int System.out.println ("ASCII value - " + i); } 

Dans cet exemple, nous avons un caractère (‘a’) et nous le convertissons en un entier. Imprimer ce nombre entier nous donnera la valeur ASCII de ‘a’.

Vous pouvez le faire comme ceci pour les littéraux de chaîne:

 int myInt = Integer.parseInt("1234");