如何将char类型转换成int类型

 我来答
杨叔说娱乐
2019-10-19 · 专注娱乐点评,分享娱乐。
杨叔说娱乐
采纳数:646 获赞数:567498

向TA提问 私信TA
展开全部

首先char类型的必须是数字,将字符的数字转成数字,比如'0'转成0可以直接用加法来实现;

例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决;

select * from pony order by (d+0);

在进行ifnull处理时,比如 ifnull(a/b,'0') 这样就会导致 a/b成了字符串,因此需要把'0'改成0,即可解决此困凳返纤扰;

比较数字和varchar时,比如a=11,b="11ddddd"。

扩展资料

char类型占1字节,就是8位,所能存储的正整数是 0111 1111,即127。现在将 int 型的整数i= 128 赋予ch,会产生溢出。

因128是 int 型,占 4 字节,二进制代码为 0000 0000 0000 0000 0000 0000 1000 0000.。若将它赋给一个只枣仿有8位的char 类型变量,只能将低8位的1000 0000 放进去,其他的都会被删掉。

整数在计算机中都是以补码的形式存储的,此时1000 0000 在计算机的眼里,是一个补码,最左边是 1 表示负数,补码1000 0000 所对应的十进制是 -128,所以最后输出的就世芦是 -128。因此溢出会使得最大正整数变成最小负整数。

华银泰傲旋
2020-05-01 · TA获得超过3789个赞
知道大有可为答主
回答量:3010
采纳率:27%
帮助的人:427万
展开全部
直差乎接显式赋值即可,char->int
属于扩宽转换,无镇和需显式强制转换。
123char ch='A';int ascii=ch; // 直接赋值,无需显式强制转换。System.out.println("ascii="虚旅悉+ascii); // print 65
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式