字串轉數字

2021-12-30 03:58:11 字數 428 閱讀 6036

最近在面試題中看到了乙個題目,要求把字串轉換成數字,如把「58」轉換成 58,蛋疼的是不讓使用系統的函式或方法,於是思考了一會兒,寫出了乙個函式,用於做字串轉數字。

/*** 字串轉數字(不使用系統的函式)

*/long string2number(const char *str)

else

}return result;

}測試程式如下:

// 函式頭

long string2number(const char *pstr);

int main(int argc, const char * ar**)

return 0;

}列印結果如下圖:

字串 字串轉數字

題目 將乙個字串轉換成數字。例如 123 123,71.02 71.02.方法一,直接呼叫庫函式atoi const char 和atof const char stoi string str include include int main 輸出結果 num int 435 num double ...

字串轉數字

注意進製,注意小數,負數,指數。小數跟指數比較繁瑣。應該對字串做限制,字串只是整數字串。否則,以下幾種情況都是會報錯 1.0x011.011,0b011.011都是錯誤的。2.0100.011實際上是十進位制的100.01。3.指數表示造成邏輯更多了。鑑於以上幾個情況考慮,為簡化,整數字串轉數字。草...

字串轉數字

看了劍指offer上面的第一道題,字串轉數字,就去查了下,有多種方法。比如可以直接用函式atoi 下面是我的 include include include include includeusing namespace std int main string a 100 int num 0 if a...