C++ 字符串string和整數(shù)int的互相轉(zhuǎn)化操作
一、string轉(zhuǎn)int的方式
1、采用最原始的string, 然后按照十進(jìn)制的特點(diǎn)進(jìn)行算術(shù)運(yùn)算得到int,但是這種方式太麻煩,這里不介紹了。
2、采用標(biāo)準(zhǔn)庫(kù)中atoi函數(shù)。
string s = "12";
int a = atoi(s.c_str());
對(duì)于其他類型也都有相應(yīng)的標(biāo)準(zhǔn)庫(kù)函數(shù),比如浮點(diǎn)型atof(),long型atol()等等。
3、采用sstream頭文件中定義的字符串流對(duì)象來(lái)實(shí)現(xiàn)轉(zhuǎn)換。
istringstream is("12"); //構(gòu)造輸入字符串流,流的內(nèi)容初始化為“12”的字符串
int i;
is >> i; //從is流中讀入一個(gè)int整數(shù)存入i中
二、int轉(zhuǎn)string的方式
1、采用標(biāo)準(zhǔn)庫(kù)中的to_string函數(shù)。
int i = 12;
cout << std::to_string(i) << endl;
不需要包含任何頭文件,應(yīng)該是在utility中,但無(wú)需包含,直接使用,還定義任何其他內(nèi)置類型轉(zhuǎn)為string的重載函數(shù),很方便。
2、采用sstream中定義的字符串流對(duì)象來(lái)實(shí)現(xiàn)。
ostringstream os; //構(gòu)造一個(gè)輸出字符串流,流內(nèi)容為空 int i = 12; os << i; //向輸出字符串流中輸出int整數(shù)i的內(nèi)容 cout << os.str() << endl; //利用字符串流的str函數(shù)獲取流中的內(nèi)容
字符串流對(duì)象的str函數(shù)對(duì)于istringstream和ostringstream都適用,都可以獲取流中的內(nèi)容。
補(bǔ)充知識(shí):C++ 將整數(shù)、浮點(diǎn)數(shù)轉(zhuǎn)為字符串
前言:
用 sprintf可以把整數(shù)、浮點(diǎn)數(shù)轉(zhuǎn)為字符串。
1、整數(shù)
int main(int argc, const char * argv[]) {
int n = 12345;//待轉(zhuǎn)整數(shù)
char strN[50];//轉(zhuǎn)換后的字符串
sprintf(strN, "%d", n);
cout<<strN<<endl;//輸出
return 0;
}
結(jié)果:

2、浮點(diǎn)數(shù)
int main(int argc, const char * argv[]) {
float n = 12345.67;//待轉(zhuǎn)整數(shù)
char strN[50];//轉(zhuǎn)換后的字符串
sprintf(strN, "%.2f", n);
cout<<strN<<endl;
return 0;
}
結(jié)果:

以上這篇C++ 字符串string和整數(shù)int的互相轉(zhuǎn)化操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C語(yǔ)言變長(zhǎng)數(shù)組 struct中char data[0]的用法詳解
下面小編就為大家?guī)?lái)一篇C語(yǔ)言變長(zhǎng)數(shù)組 struct中char data[0]的用法詳解。小編覺得挺不錯(cuò)的現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
C語(yǔ)言中volatile關(guān)鍵字的深入講解
在程序設(shè)計(jì)中,尤其是在C語(yǔ)言、C++、C#和Java語(yǔ)言中,使用volatile關(guān)鍵字聲明的變量或?qū)ο笸ǔ>哂信c優(yōu)化、多線程相關(guān)的特殊屬性,這篇文章主要給大家介紹了關(guān)于C語(yǔ)言volatile關(guān)鍵字的相關(guān)資料,需要的朋友可以參考下2021-07-07
C語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)迷宮實(shí)驗(yàn)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)迷宮實(shí)驗(yàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
Qt信號(hào)與槽知識(shí)點(diǎn)總結(jié)歸納
信號(hào)和槽是一種高級(jí)接口,應(yīng)用于對(duì)象之間的通信,它是QT的核心特性,下面這篇文章主要給大家介紹了關(guān)于Qt信號(hào)與槽知識(shí)點(diǎn)總結(jié)歸納的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
C語(yǔ)言如何利用異或進(jìn)行兩個(gè)值的交換詳解
最近在工作中遇到了兩個(gè)值交換的需求,發(fā)現(xiàn)自己對(duì)異或有些忘記,所以索性寫出來(lái),方便以后需要的時(shí)候參考學(xué)習(xí),下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言如何利用異或進(jìn)行兩個(gè)值的交換的相關(guān)資料,需要的朋友可以參考下。2017-09-09

