C 中字串和數字互轉

2021-10-23 02:20:28 字數 1714 閱讀 4660

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...