(我在Java編程新)如何將Java中的char轉換爲int?
我有,例如:
char x = '9';
,我需要得到的撇號的數量,數字9本身。 我試圖做到以下幾點,
char x = 9;
int y = (int)(x);
但它沒有工作。
那麼我該怎麼做才能得到撇號中的數字?
(我在Java編程新)如何將Java中的char轉換爲int?
我有,例如:
char x = '9';
,我需要得到的撇號的數量,數字9本身。 我試圖做到以下幾點,
char x = 9;
int y = (int)(x);
但它沒有工作。
那麼我該怎麼做才能得到撇號中的數字?
碰巧,字符'9'
的ascii/unicode值比'0'
(對於其他數字類似)的值大9。
所以你可以使用減法得到一個十進制數字字符的整數值。
char x = '9';
int y = x - '0'; // gives 9
我你有char '9'
,它將存儲它的ASCII碼,所以得到的int值,你有2種方式
char x = '9';
int y = Character.getNumericValue(x); //use a existing function
System.out.println(y + " " + (y + 1)); // 9 10
或
char x = '9';
int y = x - '0'; // substract '0' code to get the difference
System.out.println(y + " " + (y + 1)); // 9 10
它其實這個作品也:
char x = 9;
System.out.println(">" + x + "<"); //> < prints a horizontal tab
int y = (int) x;
System.out.println(y + " " + (y + 1)); //9 10
您存儲9
碼,這相當於一個horizontal tab
(你可以看到,當打印爲String
,BU你也可以用它作爲int
當你看到以上
如果你想獲得一個字符的ASCII值,或者只是把它轉換成一個int,你需要從一個char轉換爲一個int。
什麼是鑄造?投射就是當我們明確地將一個原始數據類型或一個類轉換爲另一個時。這是一個簡單的例子。
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);
}
在這個例子中,我們有一個字符( 'a')中,我們把它轉換爲一個整數。打印出這個整數會給我們'a'的ASCII值。
您可以使用Character類中的靜態方法從char中獲取Numeric值。
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);
}
@HaimLvov:詳細說明...看看網上的ASCII表。任何'char'都有該表中等價十進制值的數值。所以你可以減去其他任何一個來得到一個數字結果。自然,恰巧發生的是,字符0到9是爲了使數學運作。 – David
更多關於https://stackoverflow.com/questions/3195028/please-explain-what-this-code-is-doing-somechar-48 – Andrew