atoi函式和atof函式實現

2021-06-18 06:57:26 字數 578 閱讀 9428

本文對於最基本的功能,實現atoi和atof函式,對於含有e的次冪的字串,只需要新增一部分單獨處理即可。

atoi函式:

#include #include #include "stdlib.h"

using namespace std;

int myatoi(char *s)

else if (*s=='-')

while (*s!='\0'&&*s>='0'&&*s<='9')

if (flag)

else

return sum;

}int main()

else if (*s=='-')

while (*s!='\0'&&*s!='.'&&*s>='0'&&*s<='9')

if (*s=='.') //處理小數部分,測試過程中注意flaot的有效數字位數 }

if (flag)

else

return sum;

}int main()

{ char *s="-8324.28";

cout<<"the origin string is "<

atof 和atoi 的模擬實現

下面是將字串解析成浮點數需要考慮的格式 注意,下面考慮的所有東西可能不存在字串中 刪除無意義的空格 考慮該字串的符號 解析第一段正文 假如遇到不合法字元,那麼解析到此結束 否則繼續往下解析 看是否有小數點 解析第二段正文 看是否存在e e 假如存在e e,那麼就開始判斷指數的符號和指數的大小 判斷符...

atoi 函式實現

實現atoi 函式開始之前,測試了庫中的atoi 函式,發現庫中提供的atoi函式可以處理許多異常,下面就是庫中可以處理的異常 1.指標為null 2.空字串 3.號處理 4.遇到異常字元時的處理方式 5.溢位時處理,分為兩部分 1 上溢位,輸出上界 2 下溢位,輸出下界 那麼對這些異常進行處理就可...

atof 函式詳解

atof 函式 atof double atof const char str 功 能 把字串轉換成浮點數 str 要轉換的字串。返回值 每個函式返回 double 值,此值由將輸入字元作為數字解析而生成。如果該輸入無法轉換為該型別的值,則返回值為 0.0。函式說明 atof 會掃瞄引數nptr字串...