在Java中将int转换为char

时间:2014-03-24 20:58:08

标签: java casting integer character

我正在寻找一个直截了当的答案而且似乎无法找到答案。

我只想查看以下内容是否有效。我想取整数7并将其变成字符' 7'。这是允许的:

int digit = 7;
char code = (char) digit; 

提前感谢您的帮助!

5 个答案:

答案 0 :(得分:2)

允许进行此转换,但结果不会符合您的预期,因为char 7 is the bell character whereas '7' is 55 (0x37)。由于数字字符是有序的,从'0'开始480x30),只需添加'0',然后将结果转换为char。< / p>

char code = (char) (digit + '0');

您还可以查看Unicode characters,其中可打印的ASCII字符是相同的代码。

答案 1 :(得分:0)

更容易做

String s = "0" + digit;
char t = s.charAt(0);

答案 2 :(得分:0)

如果数字在0到9之间:

int digit = 7;
char code = (char)(((int)'0')+digit);

答案 3 :(得分:0)

'7' is Unicode code point U+0037.

由于它是Basic Multiligual Plane中的代码点,因为charUTF-16代码单元,并且此代码中的Unicode代码点之间存在一对一映射平面和UTF-16代码单元,你可以依靠这个:

(char) ('0' + digit)

不要将'7'视为ASCII 55,因为这会妨碍对char的充分理解...有关详细信息,请参阅here

答案 4 :(得分:0)

不。可以通过以下方式从char '7'检索int 7

 int digit = 7;
 char code = Integer.toString(digit).charAt(0);
 code = Character.forDigit(digit, 10);