java.lang.Character.getNumericValue()方法实例

1. 简介

getNumericValue 获得字符的int值。

2. 实践

import java.lang.*;

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

方法返回特定字符的int值。字母 A-Z, a-z ,以及全宽变体的数值从10到35. 该方法和Unicode表示独立。

如何字符没有数值,返回 -1,如何数值不能表示成正数,返回 -2.


参考:

  1. yiibai教程
  2. Character.getNumericValue(…) in Java returns same number for upper and lower case characters
### Java `Character.getNumericValue` 方法详解 #### 方法概述 `Character.getNumericValue()` 是 Java 中的一个静态方法,用于获取指定字符的 Unicode 数值。此方法可以接受两种参数形式:单个字符 (`char`) 或者 Unicode 编码点 (`int`)。 - 对于字符 `'0'-'9'`, `'A'-'F'`, 和 `'a'-'f'`,该函数会返回相应的十进制数值。 - 如果输入的是其他类型的字符,则依据其是否能被解释成有效的数字来决定返回值[^1]。 #### 方法签名 存在两个重载版本的方法: ```java public static int getNumericValue(char ch) ``` 以及 ```java public static int getNumericValue(int codePoint) ``` 这两个方法都接收一个待解析为数值的字符或者编码点作为参数,并尝试将其映射到一个整型数值上。 #### 参数描述 - **ch**: 要转换的目标字符。 - **codePoint**: 表示目标字符的Unicode编码点。 #### 返回结果解读 根据传入的不同类型字符,会有不同的返回情况: - 当给定字符确实对应着某个正整数时,将会得到这个正整数; - 若无法识别为有效数字(比如字母),则统一返回 `-1`; - 特殊情况下如果遇到罗马数字等特殊符号,可能会有额外定义范围内的负数返回,但通常不会低于 `-2`。 #### 实际应用案例 下面给出一段简单的代码片段展示如何利用 `getNumericValue` 来处理字符串中的数字字符: ```java // 定义测试字符变量 char digitChar = '7'; char nonDigitChar = 'g'; // 获取并打印字符对应的数值 System.out.println(Character.getNumericValue(digitChar)); // 输出 7 System.out.println(Character.getNumericValue(nonDigitChar));// 输出 -1 ``` 上述例子中可以看到,对于合法的阿拉伯数字字符可以直接获得预期的结果;而对于非数字字符如英文字母,则按照规定返回了错误指示符 `-1`[^3]。 #### 注意事项 值得注意的一点是,在某些特定场景下即使看起来像是数字但实际上并不属于标准意义上的 “数字”,也可能导致意外的行为。因此建议开发者们在实际项目里谨慎选用本API,并充分考虑边界条件下的表现[^4]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rosefunR

你的赞赏是我创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值