为了账号安全,请及时绑定邮箱和手机立即绑定

在Java中将int转换为char

在Java中将int转换为char

白衣非少年 2019-09-21 14:16:17
下面是一个代码片段,int a = 1;char b = (char) a;System.out.println(b);但是我得到的是空输出。int a = '1';char b = (char) a;System.out.println(b);我将得到1作为输出。有人可以解释一下吗?如果我想像第一个代码片段一样将int转换为char,该怎么办?
查看完整描述

3 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

int a = 1;

char b = (char) a;

System.out.println(b);

会打印出ascii值为1的char(首字符,这是不可打印的)。


int a = '1';

char b = (char) a;

System.out.println(b);

将打印出具有ascii值49的字符(一个对应于'1'的字符)


如果要转换数字(0-9),则可以将数字加48并进行转换,例如Character.forDigit(a, 10);。


如果要转换intas ascii值,则可以使用Character.toChars(48)例如。


查看完整回答
反对 回复 2019-09-21
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

似乎您正在寻找Character.forDigit方法:


final int RADIX = 10;

int i = 4;

char ch = Character.forDigit(i, RADIX);

System.out.println(ch); // Prints '4'

还有一种方法可以将字符从char转换回int:


int i2 = Character.digit(ch, RADIX);

System.out.println(i2); // Prints '4'

请注意,通过更改,RADIX您还可以支持十六进制(基数为16)以及最大为36(或Character.MAX_RADIX称为36)的任何基数。


查看完整回答
反对 回复 2019-09-21
  • 3 回答
  • 0 关注
  • 1922 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信