二、string轉num
三、char轉num
四、char與string的相互轉換
五、字串拼接
參考文獻
標頭檔案
#include
#include
int num =
123;
string num2str =
to_string
(num)
;cout <<
typeid
(to_string
(num)
==typeid
(string)
<< endl;
// true
標頭檔案
#include
double num =
123.56
;// float同理
stringstream sstream;
sstream << num;
string num2str = sstream.
str();
// num2str = "123.56"
cout <<
typeid
(sstream.
str()==
typeid
(string)
<< endl;
// true
sstream.
clear()
;// 若在用乙個流中處理大量資料,則需手動清除快取,小資料或不同流可忽略
缺點:處理大量資料轉換速度較慢。stringstream
不會主動釋放記憶體,如果要在程式中用同乙個流,需要適時地清除一下快取,用stream.clear()
string str =
"456.78"
;double num;
// float同理,int需要str為整數,否則報錯
stringstream sstream
(str)
;sstream >> num;
// num = 456.78
cout <<
typeid
(num ==
typeid
(double
)<< endl;
// true
標頭檔案
#include
string str =
"456.78"
;double num =
stod
(str)
;// num = 456.78
cout <<
typeid
(num ==
typeid
(double
)<< endl;
// true
下面給出常用的轉換方法,完整轉換方法請見《c++中的字串(string)和數值轉換》
轉換數字的型別
預設完整引數
功能全參例子
intstoi(s)stoi(s,p,b)
把字串s從p開始轉換成b進製的int
stoi(s, 0, 10)
floatstof(s)stof(s,p)
把字串s從p開始轉換成float
doublestod(s)stod(s,p)
把字串s從p開始轉換成double
long
stol(s)
stol(s,p,b)
把字串s從p開始轉換成b進製的long
stol(s, 0, 10)
標頭檔案
#include
char ch[
100]
="-456.78"
;// 注:atof(ch)只返回double數字,因此需要float可以自行轉換成float
double num =
atof
(ch)
;// num = -456.78
cout <<
typeid
(num ==
typeid
(double
)<< endl;
// true
下面給出常用的轉換方法,完整轉換方法請見《c++中的字串(string)和數值轉換》
轉換數字的型別
預設功能
intatoi(s)將字串s[n]轉換為整型值
doubleatof(s)將字串s[n]轉換為double
long
atol(s)將字串s[n]轉換為long
char ch[
100]
="hellow world"
;string str = ch;
// str = "hellow world"
cout <<
typeid
(str ==
typeid
(string)
<< endl;
// true
string str =
"hellow world"
;char ch[
100]=;
for(
int i=
0;i < str.
length()
;i++
) ch[i]
= str[i]
;cout << ch << endl;
// ch = "hellow world"
string str1 =
"aaa"
;strint str2 =
"bbb"
;cout << str1 + str2 << endl;
// "aaabbb"
cout << str1 +
"bbb"
<< endl;
// "aaabbb"
string str1 =
"aaa"
;char
* str2 =
"bbb"
;cout << str1 + str2 << endl;
// "aaabbb"
持續積累中~
[1] c++ 字串與字元陣列詳解
[2] c++中的字串(string)和數值轉換
C 11 字串字面值
標準c 提供了兩種字串字面值。第一種,包含有雙引號,產生以空字元結尾的const char陣列。第二種有著前標l,產生以空字元結尾的const wchar t陣列,其中wchar t代表寬字元。對於unicode編碼的支援尚付闕如。為了加強c 編譯器對unicode的支援,類別char的定義被修改為...
1134 字串轉換
time limit 1 sec memory limit 128 mb submit 3030 solved 1610 submit status web board 輸入乙個以回車結束的字串,它由數字和字母組成,請過濾掉所有非數字字元,然後將數字字串轉換成十進位制整數後乘以2輸出。輸入乙個以回車...
1134 字串轉換
1134 字串轉換 時間限制 1 sec 記憶體限制 128 mb 提交 6095 解決 3688 狀態 討論版 提交 命題人 admin 題目描述 輸入乙個以回車結束的字串,它由數字和字母組成,請過濾掉所有非數字字元,然後將數字字串轉換成十進位制整數後乘以2輸出。輸入輸入乙個以回車結束的字串,長度...