- Java.lang 包類
- Java.lang - 首頁
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包擴充套件
- Java.lang - 介面
- Java.lang - 錯誤
- Java.lang - 異常
- Java.lang 包有用資源
- Java.lang - 有用資源
- Java.lang - 討論
Java - Character digit() 方法
Java 的 Character digit() 方法用於在指定的基數中確定字元的數值位置。
基數定義為數字系統中存在的唯一數字(包括零)的數量。最常見的基數是 10,代表十進位制系統 (0-9)。
如果至少滿足以下條件之一,則字元為有效數字:
該字元的 isDigit 方法為真,並且該字元的 Unicode 十進位制數字值(或其單字元分解)小於指定的基數。在這種情況下,將返回十進位制數字值。
該字元是大寫拉丁字母 'A' 到 'Z' 之一,並且其程式碼小於基數 + 'A' − 10。在這種情況下,將返回 ch − 'A' + 10。
該字元是小寫拉丁字母 'a' 到 'z' 之一,並且其程式碼小於基數 + 'a' − 10。在這種情況下,將返回 ch − 'a' + 10。
該字元是全形大寫拉丁字母 A ('\uFF21') 到 Z ('\uFF3A') 之一,並且其程式碼小於基數 + '\uFF21' − 10。在這種情況下,將返回 ch − '\uFF21' + 10。
該字元是全形小寫拉丁字母 a ('\uFF41') 到 z ('\uFF5A') 之一,並且其程式碼小於基數 + '\uFF41' − 10。在這種情況下,將返回 ch − '\uFF41' + 10。
語法
以下是 Java Character digit() 方法的語法
public static int digit(char ch, int radix) (or) public static int digit(int codePoint, int radix)
引數
ch − 要轉換的字元
codePoint − 要轉換的字元(Unicode 程式碼點)
radix − 基數
返回值
此方法返回字元在指定基數中表示的數值。
獲取給定基數的 char 的數值示例
以下示例顯示了 Java Character digit(char ch, int radix) 方法的用法。在此示例中,我們使用字元初始化了兩個 char 變數,然後使用 digit() 獲取與基數 2 和 10 對應的數值,並列印結果。
package com.tutorialspoint;
public class CharacterDemo {
public static void main(String[] args) {
// create 2 character primitives ch1, ch2
char ch1, ch2;
// assign values to ch1, ch2
ch1 = '9'; //exceeds MAX_RADIX
ch2 = '5';
// create 2 int primitives i1, i2
int i1, i2;
// assign numeric value of ch1, ch2 to i1, i2 using radix
i1 = Character.digit(ch1, 2);
i2 = Character.digit(ch2, 10);
String str1 = "Numeric value of " + ch1 + " in radix 2 is " + i1;
String str2 = "Numeric value of " + ch2 + " in radix 10 is " + i2;
// print i1, i2 values
System.out.println( str1 );
System.out.println( str2 );
}
}
輸出
讓我們編譯並執行以上程式,這將產生以下結果:
Numeric value of 9 in radix 2 is -1 Numeric value of 5 in radix 10 is 5
獲取給定基數的十六進位制 char 的數值示例
在此示例中,我們宣告並初始化一個包含有效程式碼點值的 int 變數和一個包含有效 char 值的 char 變數。int 變數被型別轉換為 char 值並作為引數傳遞給方法;而 char 值按原樣傳遞。
package com.tutorialspoint;
public class CharacterDemo {
public static void main(String[] args) {
int ch1;
char ch2;
ch1 = 0x0012; //exceeds MAX_RADIX
ch2 = '5';
int i1, i2;
i1 = Character.digit((char)ch1, 10);
i2 = Character.digit(ch2, 16);
// print i1, i2 values
System.out.println("Numeric value of " + ch1 + " in radix 10 is " + i1);
System.out.println("Numeric value of " + ch2 + " in radix 16 is " + i2);
}
}
輸出
編譯並執行程式後,將獲得以下輸出:
Numeric value of 18 in radix 10 is -1 Numeric value of 5 in radix 16 is 5
獲取給定基數的十六進位制 char 的數值示例
以下示例顯示了 Java Character digit(char ch, int radix) 方法的用法。在此示例中,我們使用十六進位制值初始化了兩個 char 變數,然後使用 digit() 獲取與基數 2 和 10 對應的數值,並列印結果。
package com.tutorialspoint;
public class CharacterDemo {
public static void main(String[] args) {
// create 2 int primitives cp1, cp2
int cp1, cp2;
// assign values to cp1, cp2
cp1 = 0x0034;
cp2 = 0x004a;
// create 2 int primitives i1, i2
int i1, i2;
// assign numeric value of cp1, cp2 to i1, i2 using radix
i1 = Character.digit(cp1, 8);
i2 = Character.digit(cp2, 8);
String str1 = "Numeric value of cp1 in radix 8 is " + i1;
String str2 = "Numeric value of cp2 in radix 8 is " + i2;
// print i1, i2 values
System.out.println( str1 );
System.out.println( str2 );
}
}
輸出
讓我們編譯並執行以上程式,這將產生以下結果:
Numeric value of cp1 in radix 8 is 4 Numeric value of cp2 in radix 8 is -1
獲取給定基數的型別轉換 char 的數值示例
在此示例中,我們宣告並初始化一個 char 值,並在型別轉換後將其作為引數傳遞給方法。
package com.tutorialspoint;
public class CharacterDemo {
public static void main(String[] args) {
char ch1;
int ch2;
ch1 = '8';
ch2 = 0x0064;
int i1, i2;
i1 = Character.digit((int)ch1, 10);
i2 = Character.digit(ch2, 16);
// print i1, i2 values
System.out.println("Numeric value of " + ch1 + " in radix 10 is " + i1);
System.out.println("Numeric value of " + ch2 + " in radix 16 is " + i2);
}
}
輸出
以上程式碼的輸出顯示為:
Numeric value of 8 in radix 10 is 8 Numeric value of 100 in radix 16 is 13