各種基本型別與string的轉換

2021-06-20 19:03:22 字數 1494 閱讀 5076

如果你用

的編譯器是基於最新的c++11

標準,那麼

這個問題就變

的很簡單,因為

<

string

>中

已經封裝好了對應的轉換方法:

標準庫中定義了to_string

(val

);可以將其它型別轉換為string。還定義了一組stoi(s,p,b)、stol(s,p,b)、stod(s,p,b)等轉換

函式,可以函式,可以分別轉化成int、long、double等.

stoi(s,p,b);stol(s,p,b);stoul(s,p,b);stoll(s,p,b);stoull(s,p,b);返回s的起始子串(表示整數內容的字串)的數值,返回值的型別分別為:int、long、unsigned long、long long、unsigned long long.其中b表示轉換所用的基數,預設為10(表示十進位制).p是size_t的指標,用來儲存s中第乙個非數值字元的下標,p預設為0,即函式不返回下標.

stof(s, p); stod(s, p); stold(s, p); 返回s的起始子串(表示浮點數內容)的數值,返回值的型別分別是float、double、long double.引數p的作用與整數轉換函式中的一樣。

vs2013下編譯通過

void testtypeconvert()

結果如下:

53.140000

12323456797a

123123

123.257

123.257

c++11標準之前沒有提供相應的方法可以呼叫,就得自己寫轉換方法了,**如下:

從其它型別轉換為string

,定義乙個模板類的方法。

從string

轉換為其它型別

,定義多個過載函式。

vs2010下編譯通過

#include templatestring converttostring(const t val)

int convertstringtoint(const string &s)

double convertstringtodouble(const string &s)

long convertstringtolong(const string &s)

void testconvert()

結果如下:

convert other type to string:

44.5

1253.14159

convert from string to other type:

1212.5

1234567

歡迎加入"

c/c++

夢之隊" 學習群:

226157456

基本型別與String 的轉換

我的作法是使用integer類,先用valueof將string轉換成integer值,然後再用intvalue將integer轉換成int,大致的 如下 string aa 66 int bb integer tempint tempint integer.valueof aa bb tempin...

String 引用型別與基本型別區別

string a a string b a string c new string a system.out.println a b true system.out.println a c false 我認為string a a 這種形式宣告的變數在比較的時候將會隱式呼叫equals方法,而new出...

變數與基本型別

c 定義了一套包括算術型別和空型別在內的基本資料型別。其中算術型別包含了字元,整型數,布林值和浮點數。空型別不對應具體的值 具體應用不知 內建型別的機器實現 計算機以位元序列儲存資料,每個位元非0即1。736424 0 0 1 1 1 0 1 1 736425 0 0 0 1 1 0 1 1 736...