我正在尋找一個簡單的答案,似乎無法找到一個。在Java中鑄造int到char
我只是想看看下面是否有效。我想取整數7並把它變成字符'7'。這是否允許:
int digit = 7;
char code = (char) digit;
預先感謝您的幫助!
我正在尋找一個簡單的答案,似乎無法找到一個。在Java中鑄造int到char
我只是想看看下面是否有效。我想取整數7並把它變成字符'7'。這是否允許:
int digit = 7;
char code = (char) digit;
預先感謝您的幫助!
此轉換是允許的,但結果不會是你所期望的,因爲char 7
is the bell character whereas '7'
is 55
(0x37
)。由於數字字符的順序是從'0'
在48
(0x30
)開始,只需添加'0'
,然後將結果作爲char
進行投射。
char code = (char) (digit + '0');
您也可以看看的Unicode characters,其中可打印的ASCII字符相同的代碼。
如果數字是0之間和9:
int digit = 7;
char code = (char)(((int)'0')+digit);
不需要明確地將''0'擴展爲'int'。 –
'7'
is Unicode code point U+0037
.由於它是在Basic Multiligual Plane的碼點,並且由於char
是一個UTF-16代碼單元,並且該平面中的Unicode代碼點和UTF-16代碼單元之間存在一對一映射,您可以依靠這樣的:
(char) ('0' + digit)
不認爲'7'
爲ASCII 55,因爲防止char
有很好的理解......欲瞭解更多詳情,請參閱here。
沒有。該char
'7'
可以從int
7
在以下方面獲得:
int digit = 7;
char code = Integer.toString(digit).charAt(0);
code = Character.forDigit(digit, 10);
整型是不一樣的INT和性格是不一樣的字符。也試試看看它是否有效。 –
'(char)('0'+ digit)'將起作用 – fge
這可能對您有用:http://stackoverflow.com/questions/17984975/convert-int-to-char-in-java – Thibstars