- 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