首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Character.getNumericValue()问题

Character.getNumericValue()问题
EN

Stack Overflow用户
提问于 2010-01-27 23:26:40
回答 4查看 17K关注 0票数 9

我可能遗漏了一些东西,但是为什么这两个数值等于-1

代码语言:javascript
运行
复制
System.out.println(Character.getNumericValue(Character.MAX_VALUE));
System.out.println(Character.getNumericValue(Character.MIN_VALUE));

返回:

代码语言:javascript
运行
复制
-1
-1
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-01-27 23:30:52

getNumericValue()会将实际表示数字的字符(如“正常”数字0-9,但也包括其他脚本中的数字)转换为它们的数字值。Character.MAX_VALUECharacter.MIN_VALUE表示的字符没有这样的数值;它们不是数字。根据API doc的说法

如果字符没有数值,则返回-1。

票数 13
EN

Stack Overflow用户

发布于 2010-01-27 23:40:18

getNumericValue()仅适用于表示数字的字符,如数字'0''9'。为了方便起见,它还将ASCII码字母视为以36为基数的数字系统中的数字(因此'A'为10,'Z'为35)。

这一点愚弄了很多人。如果您想知道字符的Unicode值,您所要做的就是将其转换为int

代码语言:javascript
运行
复制
System.out.println((int)Character.MAX_VALUE);
System.out.println((int)Character.MIN_VALUE);
票数 5
EN

Stack Overflow用户

发布于 2010-01-27 23:32:32

因为Character.MAX_VALUECharacter.MIN_VALUE不是数字。当参数不是映射到数字的字符时,Character.getNumericValue(char)返回-1。

数字字符(0-9)、字母字符(A-Z)和其他unicode数字字符与值关联。我不知道映射的所有其他字符。但是很多字符只会返回-1。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2148096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档