Java Character.digit()方法

原文:https://www.studytonight.com/java-wrapper-class/java-character-digitint-codepoint-int-radix-method

Java digit()方法是Character类的一部分。此方法将字符的数值返回到指定的代码点值。

必须注意的是,如果:

  • 基数不在MIN_RADIX<=radix<=MAX_RADIX范围内,或者
  • 该字符不是特定基数的有效数字,则返回 1

此外,如果下列至少一项为真,字符就是有效的数字:

  • 方法isdigit(int codepoint)对于字符为真,Unicode 十进制小于指定的基数。在这种情况下,返回十进制数字值。
  • 如果字符是大写字母“A”到“Z”之一,并且其代码小于基数,则对于+“A”,返回-10,对于“A”,返回+10。
  • 如果字符是小写字母“a”到“z”之一,并且其代码小于基数,则对于+“a”,返回-10,对于“-a”,返回+10。

语法:

public static int digit(int codePoint, int radix)

参数:

传递的参数是要转换的字符的内部代码点和为转换提供基础的int radix

返回:

返回由指定索引处的字符表示的数值。

例 1:

这里,返回相对于指定索引的指定字符的数值。

import java.util.Scanner; 
import java.lang.Character;
public class StudyTonight 
{  
    public static void main(String[] args) 
    {      
        int codePoint = 99;  
        int radix = 16;               
        char ch = (char) codePoint;           
        int digit = Character.digit(codePoint,radix);  
        System.out.println("The numeric value of "+ch+" is : " +digit);  
    }  
}

c 的数值为:12

例 2:

这里有一个通用的例子,用户可以输入他选择的输入并获得所需的输出。

import java.util.Scanner; 
import java.lang.Character;
public class StudyTonight 
{  
    public static void main(String[] args) 
    {      
        try
        {
            System.out.print("Enter codepoint value:");  
            Scanner sc = new Scanner(System.in);  
            int cp = sc.nextInt();
            System.out.print("Enter radix:");  
            int radix = sc.nextInt();        

            int digit = Character.digit(cp, radix);  
            System.out.println("The numeric value is: " + digit);            
        } 
        catch(Exception e)
        {
            System.out.println("Invalid input");  
        }
    }  
}

输入码点值:889 输入基数:5 数值为:-1 **输入码点值:5 输入基数:4 数值为:-1

实时示例:

在这里,您可以测试实时代码示例。您可以为不同的值执行示例,甚至可以编辑和编写您的示例来测试 Java 代码。