c字串如何轉化為數字C,怎麼把字元轉換成數字

2021-03-07 06:32:07 字數 5592 閱讀 3408

1樓:

你可以叫 stringstream 和 vector 幫忙。

下面的**裡 dbl_array 既是你要建立的實數陣列(real 代表你讀到的字串)。

#include

#include

#include

using namespace std;

int main( )

值得一提的是,vector 可以被當成陣列來用,而且它比陣列優秀很多,所以你大可去掉上面的**裡多餘的最後一段,直接用 vector。

2樓:匿名使用者

1、c語言有atoi、atol、atof等庫函式,可分別把ascii編碼的字串轉化為int、long、float型別的數字。需要注意的是,這個幾個函式是c語言提供的擴充套件功能,並不是標準的函式,必須引入標頭檔案#include;若需要移植性,請用sscanf函式。

例如:int num=atoi("12345");//字串"12345"轉換為數字12345,並存入num變數中

2、sscanf函式。

sscanf函式是c語言中從一個字串中讀進與指定格式相符的資料的函式。sscanf與scanf類似,都是用於輸入的,只是後者以螢幕(stdin)為輸入源,前者以固定字串為輸入源。使用sscanf函式可以實現字串到任意資料型別的轉換。

例如:char s="12345";

int n;

sscanf(s,"%d",&n);//把字串s轉換為整形資料並存入變數n中

3樓:匿名使用者

atoi函式可以將char型別字串轉換為數字,_wtoi可以將unicode字串轉換為數字

4樓:匿名使用者

呼叫函式

strtol()

或者atoi()

傳對應引數。

5樓:幸巴達

假設原字串為s,用兩個函式,兩個陣列a,b;

一個函式將字串裡的單個字元轉換成0-9這幾個數字。將字元逐個讀入a陣列,遇到「.」則將點之前的數字合併讀入b陣列,如:

a[2]='.',b[1]=a[1]+a[0]*10,然後將a陣列清空繼續讀入「.」後面的數,直到遇到空格,如:

a[1]=a[1]+s[3]/10; a[2]=a[1]+s[4]/1e2; 然後將a[2]加到b[1]裡。

6樓:匿名使用者

對於每一個字元,如果是 >='0' && <='9' 就把這個字元 減去 '0' 就能得到相應的數字了..而對於如小數點,加號,減號這些東西只要判斷 =='+' 然後使用原來的舊可以了.具體實現自己做.

7樓:匿名使用者

sscanf函式,呵呵,就像scanf一樣用。

8樓:匿名使用者

用的是visual c++

9樓:匿名使用者

你用的是什麼c++?

c++,怎麼把字元轉換成數字

10樓:gold橙汁

一、可以用c++的stringstream。 主要原因是操作簡單。

數字轉字串,int float型別 同理

字串轉數字,int float型別 同理

二、使用sprintf()函式

char str[10];

int a=1234321;

sprintf(str,」%d」,a);

char str[10];

double a=123.321;

sprintf(str,」%.3lf」,a);

char str[10];

int a=175;

sprintf(str,」%x」,a);//10進位制轉換成16進位制,如果輸出大寫的字母是sprintf(str,」%x」,a)

char itoa(int value, char string, int radix);

同樣也可以將數字轉字串,不過itoa()這個函式是平臺相關的(不是標準裡的)。

三、使用sscanf()函式

char str=」1234321」;

int a;

sscanf(str,」%d」,&a);

………….

char str=」123.321」;

double a;

sscanf(str,」%lf」,&a);

………….

char str=」af」;

int a;

sscanf(str,」%x」,&a); //16進位制轉換成10進位制。

另外也可以使用atoi(),atol(),atof()。

拓展資料:

以進行以繼承和多型為特點的物件導向的程式設計。c++擅長物件導向程式設計的同時,還可以進行基於過程的程式設計,因而c++就適應的問題規模而論,大小由之。

c++不僅擁有計算機高效執行的實用性特徵,同時還致力於提高大規模程式的程式設計質量與程式設計語言的問題描述能力。

11樓:寒心碧

1、可以用atoi函式。

例:char a='7';

int num=atoi(a);

2、如果是很多數字,字串形式的話按下列方式轉成int型。

例:string s="1234";

int i = integer.parseint(s);

拓展資料

c++對c的「增強」,表現在六個方面:

(1) 型別檢查更為嚴格。

(2) 增加了物件導向的機制。

(3)增加了泛型程式設計的機制(template)。

(4)增加了異常處理。

(5)增加了運算子過載。

(6)增加了標準模板庫(stl)。

物件導向程式設計,是針對開發較大規模的程式而提出來的,目的是提高軟體開發的效率。不要把物件導向和麵向過程對立起來,物件導向和麵向過程不是矛盾的,而是各有用途、互為補充的。

學習c++,既要會利用c++進行程序導向的結構化程式設計,也要會利用c++進行物件導向的程式設計,更要會利用模板進行泛型程式設計。

12樓:靜物描寫

標準庫中定義了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的作用與整數轉換函式中的一樣。

13樓:風中微子都

sprintf 字串格式化命令,主要功能是把格式化的資料寫入某個字串中。sprintf 是個變參函式。

sscanf 讀取格式化的字串中的資料。

1. 可以用sprintf函式將數字轉換成字串

int h, m, s;

string time_str;

h=seconds/3600;

m=(seconds%3600)/60;

s=(seconds%3600)%60;

char ctime[10];

sprintf(ctime, "%d:%d:%d", h, m, s); // 將整數轉換成字串

time_str=ctime; // 結果

c++對c的「增強」,表現在六個方面:

(1) 型別檢查更為嚴格。

(2) 增加了物件導向的機制。

(3)增加了泛型程式設計的機制(template)。

(4)增加了異常處理。

(5)增加了運算子過載。

(6)增加了標準模板庫(stl)。

物件導向程式設計,是針對開發較大規模的程式而提出來的,目的是提高軟體開發的效率。不要把物件導向和麵向過程對立起來,物件導向和麵向過程不是矛盾的,而是各有用途、互為補充的。

學習c++,既要會利用c++進行程序導向的結構化程式設計,也要會利用c++進行物件導向的程式設計,更要會利用模板進行泛型程式設計。

14樓:南唐小主李煜煜

在c++中,字元以ascii**來儲存,字元『0』的ascii**為48,所以一個數字字元直接減去字元『0』或者數字48便可以將一個字元型數字轉換為整形數字。

把一個整形字元轉換為整形數字的**如下:

#include //輸入輸出函式標頭檔案int main()

15樓:老黃搞事

c++可以通過 atoi函式把字元轉換成數字。

c++是c語言的繼承,它既可以進行c語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的物件導向的程式設計。c++之父bjame stroustrup最近說c++11就像一個新語言,的確,c++11核心已經發生了巨大的變化,它現在支援lambda表示式,物件型別自動推斷,統一的初始化語法,委託建構函式,deleted和defaulted函式宣告nullptr,以及最重要的右值引用。

標頭檔案:stdlib.h   函式原型:int atoi(const char *nptr);

#include

#include

int main(void)

字串轉數字:使用sscanf()函式

char str=」1234321」;

int a;

sscanf(str,」%d」,&a);

………….

char str=」123.321」;

double a;

sscanf(str,」%lf」,&a);

………….

char str=」af」;

int a;

sscanf(str,」%x」,&a); //16進位制轉換成10進位制另外也可以使用atoi(),atol(),atof().

16樓:匿名使用者

c++可以通過 atoi函式把字元轉換成數字。

標頭檔案:stdlib.h

函式原型:int atoi(const char *nptr);

例子:#include

#include

int main(void)

17樓:qc250不解釋

這個涉及到ascii碼

如果將大寫字母轉換成數字就是:

char a='a';

int b=a-'a'+1;

//在c++中,如果將字元變數直接放入加減的式子中,他就會變成對應的ascii碼,a的ascii碼是65

如果將小寫字母轉換成數字就是:

char a='a';

int b=a-'a'+1;

用C如何把數字轉化為字串

逐個遍歷輸入字 符,比如字元1對應的ascii是48,轉換關係可以為ascii值 48。拓展版 1 字串主權要用於程式設計,概念說明 函式解釋 用法詳述見正文,這裡補充一點 字串在儲存上類似字元陣列,所以它每一位的單個元素都是可以提取的,如s abcdefghij 則s 1 a s 10 j 而字串...

c 程式將數字轉化為字串,在將每個數字放入陣列的時候為什

數字字元0 9 對應的ascii值是 48 57temp i num 10 0 其實等價於temp i num 10 48這樣就實現了一個整數轉化為字元的效果 即一個整數 例如 3 加上48以後,就得到了整數對應的字元的ascii值 51恰好是字元 3 char 相加,並不是單純的 a b ab 而...

如何用js把字串轉化為整型,js 裡面怎麼把字串轉換成數字

parseint 函式可解析一個字串,並返回一個整數。只有字串中的第一個數字會被返回。用法 parseint string,radix radix 表示要解析的數字的基數。該值介於 2 36 之間。預設是10。parseint 10x 10parseint 10 2 2 2 0 parseint 1...