青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C小加

厚德 博學(xué) 求真 至善 The bright moon and breeze
posts - 145, comments - 195, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
//函數(shù)名:myatof
//功能:把字符串轉(zhuǎn)化成double浮點(diǎn)型
//名字來源:my array to floating point numbers  
//函數(shù)說明:接收一個字符串判斷第一個字符的符號,沒有符號默認(rèn)為正值,然后對剩余字符串進(jìn)行轉(zhuǎn)換,//遇到\0結(jié)束,最后返回一個double

double myatof(const char* sptr)
{
    double temp=10;
    bool ispnum=true;
    double ans=0;
    if(*sptr=='-')//判斷是否是負(fù)數(shù)
    {
        ispnum=false;
        sptr++;
    }
    else if(*sptr=='+')//判斷是否為正數(shù)
    {
        sptr++;
    }

    while(*sptr!='\0')//尋找小數(shù)點(diǎn)之前的數(shù)
    {
        if(*sptr=='.'){ sptr++;break;}
        ans=ans*10+(*sptr-'0');
        sptr++;
    }
    while(*sptr!='\0')//尋找小數(shù)點(diǎn)之后的數(shù)
    {
        ans=ans+(*sptr-'0')/temp;
        temp*=10;
        sptr++;
    }
    if(ispnum) return ans;
    else return ans*(-1);
}

//函數(shù)名:myatoi
//功能:把字符串轉(zhuǎn)化成int整型
//名字來源:my array to integer  
//函數(shù)說明:接收一個字符串判斷第一個字符的符號,沒有符號默認(rèn)為正值,然后對剩余字符串進(jìn)行轉(zhuǎn)換,//遇到\0結(jié)束,最后返回一個int

int myatoi(const char* sptr)
{

    bool ispnum=true;
    int ans=0;
    if(*sptr=='-')//判斷是否是負(fù)數(shù)
    {
        ispnum=false;
        sptr++;
    }
    else if(*sptr=='+')//判斷是否為正數(shù)
    {
        sptr++;
    }

    while(*sptr!='\0')//類型轉(zhuǎn)化
    {
        ans=ans*10+(*sptr-'0');
        sptr++;
    }

    if(ispnum) return ans;
    else return ans*(-1);
}

Feedback

# re: 自己實(shí)現(xiàn)的atof()和atoi()代碼[未登錄]  回復(fù)  更多評論   

2012-02-24 19:53 by ithaca
沒有處理前置的空白,這個功能,標(biāo)準(zhǔn)的atoi都是要有的。

# re: 自己實(shí)現(xiàn)的atof()和atoi()代碼  回復(fù)  更多評論   

2012-02-25 21:24 by ko
正數(shù)不一定非要用 + 占位吧

# re: 自己實(shí)現(xiàn)的atof()和atoi()代碼  回復(fù)  更多評論   

2012-02-27 09:10 by C小加
遇到+了怎么辦@ko

# re: 自己實(shí)現(xiàn)的atof()和atoi()代碼  回復(fù)  更多評論   

2013-11-09 11:25 by danielyin
atoi沒有考慮溢出的問題。

# re: 自己實(shí)現(xiàn)的atof()和atoi()代碼  回復(fù)  更多評論   

2014-09-05 22:27 by memristor
定義函數(shù) double atof(const char *nptr);
函數(shù)說明 atof()會掃描參數(shù)nptr字符串,跳過前面的空格字符,直到遇上數(shù)
字或正負(fù)符號才開始做轉(zhuǎn)換,而再遇到非數(shù)字或字符串結(jié)束時
('\0')才結(jié)束轉(zhuǎn)換,并將結(jié)果返回。參數(shù)nptr字符串可包含正負(fù)
號、小數(shù)點(diǎn)或E(e)來表示指數(shù)部分,如123.456或123e-2。
返回值 返回轉(zhuǎn)換后的浮點(diǎn)型數(shù)。
#include <stdio.h>
#include <ctype.h>
#include <math.h>
#include <stdlib.h>
#include <assert.h>


double myatof(const char*s)
{
assert(s!=NULL);
double val,val2,power;
int sign,sign2,i;
//去掉字符串中的空格
for(i=0;isspace(s[i]);++i)
;
//判斷正負(fù)數(shù) ,并將i指向下一個位置
sign = (s[i] == '-') ? -1:1;
if(s[i] == '+' || s[i] == '-')
i++;
//取浮點(diǎn)數(shù)的整數(shù)部分
for(val=0.0;isdigit(s[i]) && s[i] !=0;++i)
val = 10*val+s[i]-'0';
//取小數(shù)點(diǎn)
if(s[i] == '.')
i++; //后一個位置
//取小數(shù)點(diǎn)后面數(shù)
for(power=1.0;isdigit(s[i]) && s[i] !=0;++i)
{
val = 10*val+s[i]-'0';
power*=10; //float 放大的倍數(shù)
}
val=sign*val/power;

//如果有e的話處理e后面的數(shù)字
if(s[i]=='e' || s[i]== 'E'){
i++;
sign2 = (s[i] == '-')?-1:1;
if(s[i] == '+' || s[i] == '-')
i++;
for(val2=0.0;isdigit(s[i]) && s[i] !=0;++i){
val2 = 10*val2+s[i]-'0';
}
if(sign2 == -1)
return val/pow(10,val2);
else
return val*pow(10,val2);
}
return val;
}
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一区二区三区播放老司机| 亚洲第一在线视频| 欧美日韩精品一区二区| 久久国产夜色精品鲁鲁99| 在线观看91精品国产麻豆| 国产精品久久一级| 欧美日在线观看| 欧美激情久久久久| 久久伊人亚洲| 久久亚洲精品中文字幕冲田杏梨| 亚洲欧美成aⅴ人在线观看| 亚洲日本电影| 另类激情亚洲| 美女亚洲精品| 欧美成年人网站| 久久综合中文色婷婷| 久久久一本精品99久久精品66| 久久国产精品久久久| 久久国产日韩| 久久综合色播五月| 欧美1区2区| 麻豆freexxxx性91精品| 美女成人午夜| 亚洲大胆人体在线| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲国产视频一区| 99精品福利视频| 亚洲一区二区三区精品视频| 久久久欧美一区二区| 欧美电影免费观看网站| 欧美国产精品| 亚洲日本欧美| 亚洲在线播放| 午夜影院日韩| 欧美不卡福利| 日韩视频一区二区三区| 亚洲免费一在线| 久久久久久精| 欧美日韩国产首页| 国产精品私拍pans大尺度在线| 国产一在线精品一区在线观看| 国产精品v欧美精品v日韩| 国产日韩欧美综合| 9i看片成人免费高清| 亚洲精品美女在线观看| 小处雏高清一区二区三区| 猫咪成人在线观看| 欧美在线三级| 欧美精品午夜视频| 国产色综合网| 亚洲国产99精品国自产| 亚洲午夜电影网| 免费欧美在线| 亚洲一区二区四区| 蜜桃久久精品一区二区| 国产精品高清在线| 亚洲激情网站免费观看| 欧美一区二区三区另类| 亚洲二区视频在线| 欧美一区二区女人| 欧美黄色aa电影| 欧美日韩免费观看一区三区| 欧美日韩蜜桃| 亚洲欧洲一区二区三区久久| 欧美精品色一区二区三区| 国产精品亚洲综合天堂夜夜| 亚洲国产99精品国自产| 久久国产一区| 亚洲欧美激情视频| 国产精品国产三级国产专区53| 亚洲国产欧洲综合997久久| 欧美一区二区三区视频免费播放| 亚洲高清在线精品| 久久视频免费观看| 国产视频一区在线| 小黄鸭视频精品导航| 一区二区三区四区五区视频| 欧美大片91| 国产偷久久久精品专区| 99视频一区二区| 女同性一区二区三区人了人一| 亚洲激情电影中文字幕| 久久美女性网| 伊人激情综合| 老司机精品视频网站| 欧美一区二区三区在线视频| 国产精品制服诱惑| 欧美一区亚洲一区| 亚洲欧美日韩另类| 亚洲综合色在线| 亚洲精品一区二区三区婷婷月| 免费日韩成人| 亚洲国产一二三| 欧美国产综合视频| 欧美高清成人| 亚洲精品在线免费观看视频| 亚洲丰满在线| 欧美精品一区二区久久婷婷| 日韩午夜中文字幕| av成人手机在线| 国产精品豆花视频| 欧美一区二区精品久久911| 亚洲免费影视| 国产一区二区成人| 老司机一区二区三区| 蜜桃精品一区二区三区| aaa亚洲精品一二三区| 一本一本久久| 国产亚洲精品福利| 欧美成人四级电影| 欧美三区在线视频| 久久九九国产精品| 欧美+亚洲+精品+三区| 亚洲性xxxx| 欧美一区二区在线免费观看| 亚洲国产美女| 日韩视频一区二区在线观看| 国产精品影片在线观看| 欧美一二区视频| 中文在线一区| 国产亚洲欧美一级| 浪潮色综合久久天堂| 欧美久久久久久久| 久久综合九色九九| 欧美日精品一区视频| 性欧美精品高清| 亚欧成人在线| 日韩午夜电影av| 一本大道av伊人久久综合| 一区二区在线免费观看| 亚洲精品乱码久久久久久按摩观 | 欧美激情乱人伦| 国产精品福利网站| 亚洲黄色片网站| 黄色精品一区二区| 亚洲系列中文字幕| 日韩视频一区二区三区在线播放| 亚洲综合不卡| 亚洲精一区二区三区| 欧美亚洲专区| 亚洲图片欧美一区| 欧美高清在线观看| 免费欧美电影| 国产主播精品在线| 欧美一区二区在线免费播放| 亚洲影院色无极综合| 欧美14一18处毛片| 久久先锋影音av| 国产婷婷色一区二区三区四区| 99视频精品在线| 99精品视频免费观看| 欧美不卡在线| 国产一区高清视频| 午夜在线不卡| 欧美一区激情| 国产精品美女久久| 一区二区欧美激情| 亚洲婷婷国产精品电影人久久| 欧美韩日视频| 亚洲激情视频网| 亚洲麻豆一区| 欧美激情区在线播放| 免费在线国产精品| 在线播放一区| 久久综合国产精品| 欧美激情一区三区| 亚洲欧洲精品一区| 欧美福利在线观看| 久久综合给合| 亚洲中字黄色| 久久国产一区| 永久555www成人免费| 有坂深雪在线一区| 久久午夜羞羞影院免费观看| 在线成人av网站| 欧美日韩国产成人精品| 午夜一区二区三区在线观看| 美女精品在线| 午夜精品久久久久久久久久久久 | 欧美三级乱码| 久久超碰97中文字幕| 亚洲精品欧美精品| 久久国产免费| 一区二区激情| 怡红院精品视频| 国产精品久久99| 欧美大色视频| 久久精品国产亚洲一区二区| 91久久精品日日躁夜夜躁国产| 久久激情网站| 亚洲午夜羞羞片| 亚洲精品一区二区在线| 国内精品福利| 国产精品最新自拍| 欧美日韩在线三级| 欧美不卡一卡二卡免费版| 久久久久久久久一区二区| 亚洲欧美日本在线| 一区二区三区日韩精品| 亚洲精品护士|