1. 直接利用 string 裡面的函式:
詳細介紹:string裡面有什麼?
字串轉換為數字:
主要是這幾個函式: stoi, stoll, stod 等等,分別將 string 轉換為int, long long , double型變數。
數字轉換為字串:
利用to_string()函式, 很多過載, 非常友好。
例子:
//字串轉換為數字
cout<<
"字串轉換為數字:"
<
string intstr=
"123456789"
; cout<<
"string to int: "
<<
stoi
(intstr)
<
string longlongstr=
"12345678987654321"
; cout<<
"string to long long: "
<<
stoll
(longlongstr)
<
string doublestr=
"1234.56789"
;printf
("string to double: %f\n\n"
,stod
(doublestr));
//數字轉換為字串:
cout<<
"數字轉換為字串:"
<
double a=
1234.56789
; string str=
to_string
(a);
cout<<
"double to string: "
<
2. 利用 sscanf() 和 sprintf()
字串到數字用 sscanf()函式 ,數字到字串用sprintf()函式
我們預設的輸入輸出裝置是螢幕, 只要我們我們將輸入輸出改為字串, 就能實現轉換效果。
例子:
//萬能轉換:
cout<<
"萬能轉換:"
<
double doubleisme;
sscanf
("1234.56789"
,"%lf"
,&doubleisme)
;printf
("string to double: %f\n"
, doubleisme)
;char print[10]
;sprintf
(print,
"int to char: %d",3
*4);
printf
("%s\n"
,print)
;
輸出結果:
怎麼理解呢?
我們經常用的 scanf() 和 printf() 實際上是指從螢幕讀入資料, 向螢幕輸出資料。
sscanf(「1234.56789」, 「%lf」, &doubleisme) 意思就是說, 從」1234.56789「這個字串中, 以 %lf 的方式讀入資料, 到 doubleisme 對應的位址中去。
sprintf()工作原理同理, 就不贅述了。
C 中處理字串和數字
原文出處 http www.cnblogs.com wayfarer archive 2004 05 17 9950.html 在csdn上有人問 c 中有沒有判斷乙個string型別變數是否為數字型別的系統函式 如vb中的isnumeric s 答案肯定是沒有的。有人提議用int.parse st...
C 中處理字串和數字
在csdn上有人問 c 中有沒有判斷乙個string型別變數是否為數字型別的系統函式 如vb中的isnumeric s 答案肯定是沒有的。有人提議用int.parse string 的方法,然後通過捕獲異常來判斷返回的值。更好的方法是用正規表示式 public int isnumeric strin...
C 中處理字串和數字
在csdn上有人問 c 中有沒有判斷乙個string型別變數是否為數字型別的系統函式 如vb中的isnumeric s 答案肯定是沒有的。有人提議用int.parse string 的方法,然後通過捕獲異常來判斷返回的值。更好的方法是用正規表示式 public int isnumeric strin...