字串與數字的相互轉換

2021-06-07 03:40:38 字數 1574 閱讀 6722

在寫程式的時候常常碰到字串與數字相互轉換的問題,這裡做乙個小小的總結。

字串與數字的轉換的方法比較多,按照不同的開發環境可以分為c/c++/mfc,當然這三者存在著包含關係,在c開發環境中實現的方法在c++開發環境自然可以用,而用c++開發環境使用的方法在mfc一樣也可以使用。由於c++/mfc中使用類模板、cstring類、string類等,使得解決這些問題的辦法很多,因此這裡主要介紹c開發環境中的方法。

一. 字串轉化為數字

c開發環境:主要使用atof  atoi  atol這三個函式。例子以及使用方法如下:

函式名: atof

功 能: 把字串轉換成浮點數

用 法: double atof(const char *nptr);

程式例:

#include

#include

int main(void)

函式名: atoi

功 能: 把字串轉換成長整型數

用 法: int atoi(const char *nptr);

程式例:

#include

#include

int main(void)

函式名: atol

功 能: 把字串轉換成長整型數

用 法: long atol(const char *nptr);

程式例:

#include

#include

int main(void)

當然,也可以自己寫函式進行實現,而且一般程式設計師面試的時候很喜歡這種題目,函式以及相應的**如下:

int str2int(constchar *str)

while(*str != 0)

//如果當前字元是數字則計算數值,移到下乙個字元

itemp = itemp * 10 + (*str - '0');

str++;     

} //如果字串是以"-"開頭,則轉換成其相反數

if (*ptr == '-')   

return temp;

}二. 數字轉化為字串(c開發環境)

這裡的問題就比較簡單了,直接可以利用格式化輸入函式sprintf

解決問題,也可以利用

c中的庫函式itoa()。

分別舉例如下:

char

str[10];

sprintf(str, "%d ",99);

函式名: itoa

功 能: 把一整數轉換為字串

用 法: char *itoa(int value, char *string, int radix);

程式例:

#include

#include

int main(void)

{ int number = 12345;

char string[25];

itoa(number, string, 10);

printf("integer = %d string = %s\n", number, string);

return 0;

C C 字串與數字相互轉換

一.利用stringstream類 1.字串到整數 stringstream sstr str int x sstr x 即從sstr中提取資料 2.整數到字串 stringstream sstr int x sstr x string str sstr.str 缺點 處理大量資料轉換速度較慢。st...

ZT C C 字串與數字相互轉換

一.利用stringstream類 1.字串到整數 stringstream sstr str int x sstr x 即從sstr中提取資料 2.整數到字串 stringstream sstr int x sstr x string str sstr.str 缺點 處理大量資料轉換速度較慢。st...

c 數字與字串的相互轉換

首先推薦用用c 的stringstream。主要原因是操作簡單。數字轉字串,int float型別 同理 include include int main 字串轉數字,int float型別 同理 int main 上面方法的優點就是使用簡單方便,確定可能會相對別的方法來說慢一點,但是一般少量的資料...