從string轉換到數值型
stoi string to integer
將字串轉換為整數,解析str,將其內容解釋為指定基的整數值,並將其作為int值返回。
若idx非空,函式將idx的值設定為str中數字後的第乙個字元的位置。若該引數為空nullptr,則不使用。
base預設為10。base(進製)決定了哪些字元是有效,的以及它們的翻譯。若base設為0,所使用的基數由序列中的格式決定。
//函式宣告
int stoi (const string& str, size_t* idx = 0, int base = 10);
int stoi (const wstring& str, size_t* idx = 0, int base = 10);
// size_t sz;
string a = " 101dsaada,ff";
string c = " 1010";
string d = "0xff";
cout << stoi(a, &sz) << endl; //101
cout << a[sz] << endl; //d &sz指向了d(第乙個非數字字元)
cout << stoi(c) << endl; //1010
cout << stoi(c, nullptr, 8) << endl; //520
cout << stoi(c, nullptr, 0) << endl; //1010
cout << stoi(d) << endl; //0
cout << stoi(d, nullptr, 0) << endl; //255
cout << stoi(d, nullptr, 2) << endl; //0
string b = "s10";
string e = "100000000000000000000";
cout << stoi(b) << endl; //異常:字串不合法
cout << stoi(e) << endl; //異常:轉換後超出int範圍
stol string to long
stoul string to unsigned long
stoll string to long long
stoull string to unsigned long long
以上和轉換為int的情況類似,只是數字大小範圍有變化。注意無符號數的合法範圍為|0 ~ 2^n -1|,n是位數,在這個範圍內的負數不會丟擲異常,而是輸出為:該負數加上模值2^n。
stod string to double
//函式宣告
double stod (const string& str, size_t* idx = 0);
double stod (const wstring& str, size_t* idx = 0);
// size_t sz;
double e = 10.;
string a = " 10001.e";
string b = "12.5e2a5";
cout << stod(a, &sz) << endl; //10001
cout << a[sz] << endl; //e &sz指向e
cout << stod(b, &sz) << endl; //1250
cout << b[sz] << endl; //a &sz指向a
stof string to double
stold string to long double
和stod同理。
string型別陣列轉換為int型
方法一 定義轉換方法 public static int strtoint string str string arrs new string int arri array.convertall arrs,new converter strtoint 方法二 string str1 new stri...
C 字串轉換為數值型
引言 字串處理中,常常需要把字串轉換成數值型。方法有很多,這裡總結兩種比較簡單的方法。方法一c 自帶函式atoi char s 函式原型 include atoi char s 參考 方法二利用stringstream字串輸入輸出流 include include include using nam...
C 中double 型數值轉換為DateTime
c 中 datetime 為結構型別,表示在公元 0001 年 1 月 1 日午夜 12 00 00 到公元 9999 年 12 月 31 日晚上 11 59 59 之間的日期和時間.gps裝置上的時間定義的乙個double 型值,其開始時間為 1899 12 30 00 00 00.轉換方法如下 ...