我讀了幾篇關於將int轉換爲char的文章。但是他們都沒有詳細解決我的問題。就像我想將5轉換爲'5'一樣。由於int有4個字節,而char只有2個字節,所以它縮小了轉換範圍。我在這裏得到了兩個問題: 1.爲什麼(char)(a +'0')能夠成功轉換a到char而(char)a失敗? 2.如何確保在此轉換中沒有信息丟失?如何將int轉換爲java中的char?它爲什麼有效?如何防止信息丟失?
0
A
回答
1
- 爲什麼(焦炭)(A + '0')可以轉換成功,而炭(char)的一個失敗?
這是因爲a + '0'
相當於a + 48
,這是53
。這對應於字符'5'
。
只是將int
值5
轉換爲char
會創建一個不可打印的char
,這是您解釋爲無法工作的原因。
- 如何確保在此轉換中沒有信息丟失?
您可以檢查是否在a
值足夠小,適合在一個char
使用Character.MAX_VALUE
。
0
char類型只能表示單個字符,因此只能將數字從0轉換爲9.如果希望較大的數字作爲文本,請使用字符串(例如,
String str = a + "";
相關問題
- 1. 如何在不丟失信息的情況下將float轉換爲int?
- 2. 如何(有效)將int []轉換爲Integer []?
- 3. 如何將int轉換爲char *?
- 4. 如何將int轉換爲signed char?
- 5. 如何將long int轉換爲char
- 6. 如何將char轉換爲int?
- 7. 如何將char數組轉換爲int?
- 8. 如何將char轉換爲int
- 9. 如何將int轉換爲char *?
- 10. C++ - 如何將char轉換爲int?
- 11. 如何將int轉換爲char?
- 12. 如何將Java中的char轉換爲int?
- 13. 如何防止將decimal.TryParse轉換爲「。」爲「。」?
- 14. 防止信息丟失
- 15. 爲什麼Char隱式轉換爲Int?
- 16. Java中如何將double轉換爲int?
- 17. 如何將wchar_t *轉換爲char *而不會丟失數據?
- 18. 如何防止緩衝區溢出將double轉換爲char?
- 19. 如何將int轉換爲char類型並使用它來停止循環?
- 20. 如何防止將「^」轉換爲上標?
- 21. 將int轉換爲char
- 22. 將char轉換爲int?
- 23. 將char *轉換爲int
- 24. 將short int []轉換爲char *
- 25. 將int轉換爲char
- 26. 將const char *轉換爲int
- 27. 將int轉換爲char?
- 28. F# - 將char轉換爲int
- 29. 將char *轉換爲int
- 30. 如何防止jq自動將double轉換爲int?
您需要了解Unicode值。 – SLaks 2014-09-28 20:13:32
您知道'int'包含的值高達'Integer.MAX_VALUE'(2^31 - 1),而'char'只包含一個「整數」數字?因此,對於int> 9,損失是不可避免的。 – Smutje 2014-09-28 20:14:08