首页 > 其他 > 详细

不使用库函数将字符串转换为数字

时间:2015-11-05 16:36:45      阅读:320      评论:0      收藏:0      [点我收藏+]

技术分享

技术分享


第8行,指针ptr指向字符串首地址,且用了const修饰,表明ptr是常量指针,只能指向常量,其指向的内容不可改变。这里是方便后面判断字符串的第一个字符是否是‘-’,以方便确定最终的转换结果是正数还是负数。

第10行,判断字符串第一个字符是否为‘+’或者‘-’,如果是二者之一,则应该从字符串的第二个字符开始转换。

第12行,while循环开始,首先判断每一个字符是否是数字,若不是,则跳出;是,则计算出数值。

第19行,判断字符串第一个字符是否是‘-’,如果是,则将上面算出来的数值取负。


结合上一篇《不使用库函数将数字转换为字符串》,可以总结出步骤:

数字转字符串:

1、将数字取绝对值;

2、判断被分配用于存储目标字符串的地址是否为空;

3、将每一个数字剥离出来,并转换为字符,存储于buf[]数组中(逆序);

4、根据数字的正负,确定目标字符串的长度;

5、将buf[]数组中逆序的数字型字符再次逆向复制到目标str[]数组中;

6、如果是负数,则还需令str[]数组的第一个字符为‘-’。


字符串转数字:

1、存储字符串的第一个字符,用于后面判断数字的正负;

2、如果字符串的第一个字符是‘+’或者‘-’,则需从第二个字符开始转换;

3、将每一个字符转换为数字,并累加起来;

4、根据字符串第一个字符是否为‘-’,判断数字的正负;

5、返回数字。

不使用库函数将字符串转换为数字

原文:http://tangxiaoguo.blog.51cto.com/10692989/1710030

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!