最近没什么事,看看atof这个基本函数的用处,当然,它的功能是把字符串转换为数字!
可是,你们仔细试过这个要被转换的字符串有什么要求吗?。
只要细心的人肯定会有大发现。如下
还得,在那么下面呢
对,结果意料之中:0.1
这行代码会输出什么:很简单 1.3
这一行呢:大概加估计1.3吧,不错确实是1.3
好让我们在掐面插入几个空格看
哎呀,没想到还是1.3
这一行呢:这下糊涂了,这样不会出错吗?我告诉你,不会,因为atof有容错处理
它会首先判断在你要转换的字符串里面能不能找到数字.找不到,则返回0.
那么这一行呢:我想有点悟性的人,肯定会回答1.3,不错你答得非常对!就是1.3
好了,这里您看出点什么苗头没?
好,试试下面,看看你错了没
你的结果是什么,我想你不会是写1.3吧,这下我告诉你结果是0.
好了,我们可以得出结论了
atof的基本实现算法是
第一步先去掉参数开始的连续多余空格,不管有多少个。
第二步
先看接收的参数第一个是不是数字或小数点,若不是,不找了,返回
0;是再往下查找,找到数字,取出来,找第一个".",取出来,而后找到不是数字就
的第一个字符就停了
在将取出来的字串以小数点为分界,分别进行处理。之后再返回结果!
怎么样 atof够用吧。
这个用途可以派上什么用场,自个遐想吧!
估计是这样吧,不知道对不对。
本人以上纯属没事乱想,请不要真以为atof就是按照上面的方法实现的! 其实我也不敢肯定!