Hoe kan ik een char converteren naar int in Java?

(Ik ben nieuw in Java-programmeren)

Ik heb bijvoorbeeld:

char x = '9';

en ik moet het nummer tussen de apostrofs krijgen, het cijfer 9 zelf.
Ik heb geprobeerd het volgende te doen,

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

maar het werkte niet.

Dus wat moet ik doen om het cijfer tussen de apostrofs te krijgen?


Antwoord 1, autoriteit 100%

De ASCII-tabel is zo gerangschikt dat de waarde van het teken '9'negen groter is dan de waarde van '0'; de waarde van het teken '8'is acht groter dan de waarde van '0'; enzovoort.

Je kunt dus de int-waarde van een decimaal teken krijgen door '0'af te trekken.

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

Antwoord 2, autoriteit 31%

Als je de char '9'hebt, zal het zijn ASCII-code opslaan, dus om de int-waarde te krijgen, heb je 2 manieren

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

of

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

En het werkt in feite ook:

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

U slaat de 9-code op, die overeenkomt met een horizontal tab(u kunt zien wanneer u afdrukt als String, maar u kunt ook het als intzoals je hierboven ziet


Antwoord 3, autoriteit 18%

U kunt statische methoden uit de klasse Character gebruiken om numerieke waarde uit char te halen.

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);
}

Antwoord 4, autoriteit 2%

Als je de ASCII-waarde van een teken wilt krijgen, of het gewoon wilt converteren naar een int, moet je van een char naar een int casten.

Wat is casten? Casting is wanneer we expliciet converteren van het ene primitieve gegevenstype, of een klasse, naar een ander. Hier is een kort voorbeeld.

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

In dit voorbeeld hebben we een teken (‘a’), en we casten het naar een geheel getal. Als we dit gehele getal uitprinten, krijgen we de ASCII-waarde van ‘a’.

Other episodes