Java - Character getNumericValue 方法



描述

Java 的 Character getNumericValue() 方法用于获取指定 Unicode 字符所代表的整数值。例如,字符 '\u216C'(罗马数字五十)将返回一个值为 50 的整数。

大写字母 A-Z(从 '\u0041' 到 '\u005A')、小写字母(从 '\u0061' 到 '\u007A')以及全角变体(从 '\uFF21' 到 '\uFF3A' 和从 '\uFF41' 到 '\uFF5A')的数值范围为 10 到 35。这与 Unicode 规范无关,Unicode 规范没有为这些字符值分配数值。

注意 - 极端字符(Character.MAX_VALUE 和 Character.MIN_VALUE)不包含数值。

语法

以下是 Java Character getNumericValue() 方法的语法

public static int getNumericValue(char ch)
or,
public static int getNumericValue(int codePoint)

参数

  • ch - 要转换的字符

  • codePoint - 要转换的 Unicode 代码点

返回值

此方法返回字符的数值,作为非负 int 值;如果字符的数值不是非负整数,则返回 -2;如果字符没有数值,则返回 -1。

获取字符的数值示例

以下示例演示了 Java Character getNumericValue(char ch) 方法的使用。在此程序中,我们创建了两个 char 变量并为其分配了两个值。然后使用 getNumericValue() 方法获取两个 char 的数值,并将结果打印出来。

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 = 'j';
      ch2 = '4';

      // create 2 int primitives i1, i2
      int i1, i2;

      // assign numeric values of ch1, ch2 to i1, i2
      i1 = Character.getNumericValue(ch1);
      i2 = Character.getNumericValue(ch2);
      String str1 = "Numeric value of " + ch1 + " is " + i1;
      String str2 = "Numeric value of " + ch2 + " is " + i2;

      // print i1, i2 values
      System.out.println( str1 );
      System.out.println( str2 );
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Numeric value of j is 19
Numeric value of 4 is 4

获取代码点的数值示例

以下示例演示了 Java Character getNumericValue(int codePoint) 方法的使用。在此程序中,我们创建了两个 int 变量并为其分配了两个代码点值。然后使用 getNumericValue() 方法获取两个代码点的数值,并将结果打印出来。

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 = 0x0068;
      cp2 = 0xff30;

      // create 2 int primitives i1, i2
      int i1, i2;

      // assign numeric values of cp1, cp2 to i1, i2
      i1 = Character.getNumericValue(cp1);
      i2 = Character.getNumericValue(cp2);

      // print i1, i2 values
      System.out.println("Numeric value of code point cp1 is " + i1);
      System.out.println("Numeric value of code point cp2 is " + i2);
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Numeric value of code point cp1 is 17
Numeric value of code point cp2 is 25

获取 int 的数值示例

以下示例演示了 Java Character getNumericValue(int codePoint) 方法的使用。在此程序中,我们创建了两个 int 变量并为其分配了两个值。然后使用 getNumericValue() 方法获取两个 int 的数值,并将结果打印出来。

在另一个示例中,我们将不是代码点格式的整数作为参数传递给此方法。

package com.tutorialspoint;

public class CharacterDemo {
   public static void main(String[] args) {
      int cp1, cp2, cp3;
      cp1 = 74893;
      cp2 = 100;
      cp3 = 0;
      System.out.println("Numeric value of code point cp1 is " + Character.getNumericValue(cp1));
      System.out.println("Numeric value of code point cp2 is " + Character.getNumericValue(cp2));
      System.out.println("Numeric value of code point cp3 is " + Character.getNumericValue(cp3));
   }
}

输出

如果我们编译并运行程序,则输出结果如下:

Numeric value of code point cp1 is -1
Numeric value of code point cp2 is 13
Numeric value of code point cp3 is -1

获取符号的数值示例

以下示例演示了 Java Character getNumericValue(char ch) 方法的使用。在此程序中,我们创建了两个 char 变量并为其分配了两个值。然后使用 getNumericValue() 方法获取两个 char 的数值,并将结果打印出来。

符号是非数值。因此,当它们作为参数传递给方法时,将返回 -1。让我们看看下面的程序:

package com.tutorialspoint;

public class CharacterDemo {
   public static void main(String args[]) {
      char c1 = '%';
      char c2 = '&';
      char c3 = '#';
      int res = Character.getNumericValue(c1);
      System.out.println("The numeric value of given character is " + res);        
      res = Character.getNumericValue(c2);
      System.out.println("The numeric value of given character is " + res);        
      res = Character.getNumericValue(c3);
      System.out.println("The numeric value of given character is " + res);
   }
}

输出

上述程序需要编译并运行才能获得如下输出:

The numeric value of given character is -1
The numeric value of given character is -1
The numeric value of given character is -1
java_lang_character.htm
广告