数值、字符之间的相互转换

1)数值→字符

大多数计算机采用ASCII 8位编码表,包含ASCII码为0~127的128个字符,每个字符对应一个ASCII码。了解如何将数值转换成字符之前,需要知道字符和字符之间、字符和数值之间相加的规则。
字符 + 字符 = 字符的ASCII + 字符的ASCII
'a' + 'b' = 97 + 98 = 195; 
字符 + 数值 = 字符的ASCII + 数值
'a' + 2 = 97 + 2 = 99;
相加的结果都是整数。

其实将数值转换为字符很简单,大家也都懂,直接转换就行,比如:

char ch = 8;
char ch1 = (char) 8;

但大多数人的问题在于,ch == ‘8’?

其实不是。因为,将整数转换为字符实质上是将整数作为ASCII码值赋值给字符。也就是说此时ch是值为8的ASCII码对应的字符,而’8’对应的ASCII码值为56.

正确的方法是这样的:

char ch = 8 + '0';

所以,将数值单纯的转换为字符通过直接转换的方式就行了。如果想将数值(0~9)转换为对应的字符,记得加上‘0’。

2)字符→数字

如果字符的ASCII值在目标变量的范围内,可以直接转换,比如:

int i = 'a';  // 字符'a'的ASCII码值97

如果字符的ASCII值超出范围,为了强制赋值,需强制转换。

猜你喜欢

转载自blog.csdn.net/hang981601026/article/details/78902570