已有57人关注
char转换问题
还有0人有此问题
发表在C#图书答疑 2020-08-09 《零基础学C#》
是否精华
版块置顶:

image.png

这个char转换是怎么实现数字和英文字母的?

是不是这么理解:    由于int是32位的,而char是8位的,直接转换就溢出了,所以需要ASCII的字符数字来体现,所以代码为(char)(48 + number % 10 ),但是我不明白(char)('0' + number % 10 )或者(char)('0' + (char)(number % 10) )也没问题,这个怎么理解?

    还有,这个验证码是不是数字部分只包含偶数,字母也只有ASCII码中是个位是奇数的才显示?是不是改成这样if ((number / 10) % 2 == 0)就可以全范围显示了?

2020-08-09 14:07:14编辑
分享到:
精彩评论 1
小禾斗
学分:7338 LV13
TA的每日心情
奋斗
2017-04-21 14:00:25
2020-08-09
沙发

可以把'0'换成ASCII值48,整数和int值相加时,默认都会直接通过它们的ASCII码值进行求和,然后在前面加上(char)就可以转换成字符。

下面的判断是否为偶数跟生成的验证码中是否包含偶数奇数没有关系,这个是判断生成的随机数的奇偶性,然后根据这个判断生成数字或者字母。

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照