首頁 > 後端開發 > C++ > 如何在 C 中有效地將數字轉換為字串以及字串轉換為數字?

如何在 C 中有效地將數字轉換為字串以及字串轉換為數字?

Patricia Arquette
發布: 2024-12-18 10:59:08
原創
666 人瀏覽過

How to Efficiently Convert Numbers to Strings and Strings to Numbers in C  ?

在C 中將數字轉換為字串,反之亦然

數字和字串之間的轉換是程式設計中的常見任務。在 C 中,可以使用多種方法,包括 C 11 標準和早期版本中內建的方法。

C 03 轉換方法

在 C 03 中, istringstream 和ostringstream 類別可分別用於數字到字串和字串到數字的轉換。例如:

int num = 123;
stringstream ss;
ss << num;
string str = ss.str();
登入後複製

要將字串轉換回整數:

string str = "123";
stringstream ss(str);
int num;
ss >> num;
登入後複製

C 11 轉換函數

C 11 引入了幾個中的專用函數用於在字串和數字類型之間轉換的標頭:

字串到數字

float stof(const string& str);
double stod(const string& str);
long double stolet(const string& str);
int stoi(const string& str, int base = 10);
long stol(const string& str, int base = 10);
unsigned long stoul(const string& str, int base = 10);
long long stoll(const string& str, int base = 10);
unsigned long long stoull(const string& str, int base = 10);
登入後複製

這些函數嘗試將給定字串轉換為指定的數字類型。如果成功,它們會傳回轉換後的值,如果不成功,它們會拋出異常。

數字到字串

string to_string(int val);
string to_string(unsigned val);
string to_string(long val);
string to_string(unsigned long val);
string to_string(long long val);
string to_string(unsigned long long val);
string to_string(float val);
string to_string(double val);
string to_string(long double val);
登入後複製

這些函數將給定的數值轉換為字串表示形式。

需要注意的是,C 11 數位轉換函數會對效能產生影響,特別是在精確度方面。對於更高的精度要求,建議使用其他方法,例如 C 03 istringstream/ostringstream 類別。

以上是如何在 C 中有效地將數字轉換為字串以及字串轉換為數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板