一篮绰、字符串與數(shù)字的簡單轉(zhuǎn)換(基于ascii碼)
數(shù)字與字符可以可以基于ascii碼進(jìn)行轉(zhuǎn)換
決定了并不是任意數(shù)字都可以進(jìn)行這種轉(zhuǎn)換天梧,轉(zhuǎn)換中間值可以理解為整數(shù)营密,要賦給具體變量痴奏,才有實(shí)際意義。
二胸遇、c++擴(kuò)展包進(jìn)行轉(zhuǎn)換
由于上一種方法的缺陷荧呐,我們了解一種新的方法sstream
#include<sstream>
stringstream ss;
ss是一種類似容器的東西,不同于變量狐榔,所以我們把它放到具體的功能函數(shù)中坛增,會有更好的應(yīng)用效果
string num2str(double i){
? ? stringstream ss;
? ? ss<<i;
? ? return ss.str();
}
int str2num(string s){
? ? int num;
? ? stringstream ss(s);
? ? ss>>num;
? ? return num;
}
這樣簡化了程序获雕,提高了代碼的重用性
三薄腻、string
string是c++程序設(shè)計(jì)中經(jīng)常用到的數(shù)據(jù)類型,由于c11對c++的擴(kuò)展届案,使得我們對c++語言的使用更加得心應(yīng)手庵楷。
string str = "12345";
string str("12345");
stoi() ? ? ? string 轉(zhuǎn)整型
stol ? ? ? ? string 轉(zhuǎn)long int
stoul ? ? ? string 轉(zhuǎn)無符號整型
stoll ? ? ? ?string 轉(zhuǎn)long long
stoull ? ? ?string 轉(zhuǎn)無符號long long
stof ? ? ? ? string轉(zhuǎn)float
stod ? ? ? ?string轉(zhuǎn)double
stold ? ? ? ?string轉(zhuǎn)long double
數(shù)字轉(zhuǎn)字符串很簡單只要一條語句: to_string()