数据类型不同,使用起来自然也不同了,数值型数据可以进行加减乘除操作,字符串则不行,而字符串可以进行字符串连接操作,比如将“123”和“456”连接起来,就是“123456”了,数字字符串可以通过基本数据类型的包装类转换成数值型。
两种数据类型所占的内存空间也是不一样的,字符串占2个字节,而数值型则不一定,得看它是什么类型的了,byte 1字节,short 2字节,int 4字节,float 4字节,double 8字节。
下面这个方法可以转换,前提是你的字符内容是数字类型。比如 String str = "123" 或者 char str = '2'\x0d\x0a\x0d\x0achar a = '1'\x0d\x0aString b = String.valueOf(a)\x0d\x0aint c = Integer.parseInt(b)\x0d\x0a\x0d\x0a上面你说的 c - '0' 这一步应该就是转换格式的 ,我知道类似的在 js 中把一个变量转换成字符串 可以用 var str = str+""加两个引号就相当于格式转换了。java中有很多种方式可以将字符串转为数字,要把字符串正确地转换成数字需输入以下代码:
size_t facebook_uint32_to_str(uint32_t value, char *dst)
{
static const char digits[201] =
"0001020304050607080910111213141516171819"
"2021222324252627282930313233343536373839"
"4041424344454647484950515253545556575859"
"6061626364656667686970717273747576777879"
"8081828384858687888990919293949596979899"
size_t const length = digits10(value)
size_t next = length - 1
while (value >= 100) {
auto const i = (value % 100) * 2
value /= 100
dst[next] = digits[i + 1]
dst[next - 1] = digits[i]
next -= 2
}
// Handle last 1-2 digits
if (value < 10) {
dst[next] = '0' + uint32_t(value)
} else {
auto i = uint32_t(value) * 2
dst[next] = digits[i + 1]
dst[next - 1] = digits[i]
}
return length
}