黑马程序员技术交流社区
标题:
数字char字符转换成int的方法
[打印本页]
作者:
张志东
时间:
2011-11-26 16:36
标题:
数字char字符转换成int的方法
package day1;
public class MainMethod {
public static void main(String[] args) {
char ch = '5';
int i = ch;
System.out.println(i);
}
}
-----------------------------------------------------------------------
当我们运行上面一段小Demo的时候会发现输出的并不是我们想象中的数字5,为什么?因为在编码的时候ASC编码的时候整数和相对应的char字符正好相差48,那么在将char类型的数字转换成int类型的数字时只需要减去48就Ok了。
作者:
jianbin65
时间:
2011-11-26 22:00
还可以把你的单引号去掉{:soso_e129:}
作者:
强子
时间:
2011-11-28 14:37
Integer.parseInt(ch)
作者:
刘一扬
时间:
2011-11-28 15:37
输出铁定不是5 int i = ch; 把ch中保存的数据赋给i, ch中保存这字符'5',对应的ascii编码是0x35 ,这时候就是把ch提升为int型,然后赋给i ,
System.out.println(i); 因为i是int类型,所以方法调用Integer中的toString方法,输出i里保存的数字
而System.out.println(ch); 调用Character中的toString 方法,输出ch里保存数据所对应的字符
作者:
应国炎
时间:
2011-11-29 00:32
数字5和字符5在内存中的表现形式是不一样的
我这里有解决方法:
public class Test
{
public static void main(String[] args)
{
char ch = '5';
String s = String.valueOf(ch);
int i = Integer.parseInt(s);
System.out.println(i);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2