c 中char型別變數如何轉換成int型別變數

2021-05-18 16:46:14 字數 3800 閱讀 8528

1樓:

在ascii碼中數字'0'-'9'的編碼是48 - 57,所以你減一個'0',或者減一個48都可以。

2樓:匿名使用者

從 char 到 int 屬於「從短到長」的轉換,而從 int 到 char 則為「從長到短」的轉換。

短到長時,系統會自動提升,會將1個位元組的char型別資料擴充到4個位元組(32位系統),對於無符號型別來說,只將int的最低位元組複製為char的值,其餘三個位元組都為0。

長到短時,只將int的最低位元組的內容複製到char型別的變數,三個高位位元組被忽略,這在編譯時會給出警告,但通過強制型別轉換則可以避免警告出現,如 char ch = (char)intvar。

3樓:匿名使用者

char str_tmp;

int int_tmp;

str_tmp='5';

int_tmp=(int)(str_tmp - '0');

cout<

4樓:

用函式斯stoi()就行。

int_tmp=stoi(str_tmp);

5樓:百度使用者

int_tmp=str_tmp-48;

6樓:匿名使用者

int atoi( const char *string );

c++中如何給一個int型別的變數賦值成一個以零開頭的整數

7樓:幻の上帝

int型別只是整數,和數學中的定義一樣,不管字首有幾個0,值都相等。

在c/c++中,整版數字面量權的字首0表示八進位制。所以int a;a = 0908;肯定編譯錯誤,因為9不是八進位制的合法數字。

按lz的要求,應該只是輸出樣式的問題。即使用int儲存,這種也很簡單,只用c/c++標準庫就可以實現,例如c風格的printf("%06d",a);或者利用c++標準i/o的cout<

====

[原創回答團]

8樓:千鋒教育

可以呼叫iomanip庫中

來的setfill和setw方法自來設定int型的前導0。

比如:#include

int main(int argc,char *argv)執行後輸出結果是:03

9樓:匿名使用者

是int的話,是不能你那樣賦值的。

為什麼要0開頭的整數?

可以 std::string str("0908");

std::stringstream ost;

ost<>a;

10樓:80晴天

您好,這種定義是不合法的,你可以把a定義為字串,然後對a賦值0908

string a;

a = 0908";

你剛才說的學號問題使其十九字串實現的~

11樓:匿名使用者

以0開頭的整數是八進位制,你給的例子是不合法的,八進位制的數只能是0-7.

12樓:柯墨

據我所知是不可以的,除非你將a轉為string型別 然後再在前面加個『0』賦給另一個string型別的b;

13樓:偷心的賊

a=0908是不行的,不過你可以輸出0908,這樣:

a=908;cout<<'0'<

14樓:匿名使用者

你可以使用c++提供的物件導向的設計能力,自己設計一個類,用於實現你的想法,只要為其提供運算子方面的支援,就能靈活地使用了。

15樓:喜歡黑

0908根本就不是個整數啊,怎麼用int

c++中將char轉換為int型

16樓:匿名使用者

char c;

int a;

如果a=int(c);a的值為字元的ascii碼,如果a=c-『0』;a的值就是字元所代表的阿拉伯數字

17樓:人民幣9葘

你的問題可以有兩個理解:

理解一、你是想把int型的變數強制轉換為char型的變數嗎?很簡單在變數前加強制轉換運算子就可以了。例程:

int a=1;

char c=(char)a; //把a強制轉換為char型賦給變數c

理解二、你是想把1轉換為字元『1』吧?在ascii編碼表中,字元『0』~『9』是順序編碼的,所以用相應的值加上字元『0』的編碼,就是那個值的ascii碼了。例程:

int a=1;

char c=a+'0'; //c的值就是'1'的ascii碼值

18樓:匿名使用者

用強行轉換不行嗎??

在c++中char型別的陣列裡邊裝的是數字,如何轉換為int型別?

19樓:會飛的小兔子

cha和rint陣列轉換,例:

inti[2]=

charc[2]=

兩者轉換**:

inta[2]=;

charc[2];

for(inti=0;i<2;i++)c[i]=a[i];

int是將一個數值向下取整為最接近的整數的函式,為取整函式。

擴充套件資料char*、string、cstring這三種字串型別各有各的優點,比如cstring比較靈活,是基於mfc常用的型別,安全性也最高,但可移植性最差。string是使用stl時必不可少的型別,所以是做工程時必須熟練掌握的;char*是從學習c語言開始就已經和我們形影不離的了,有許多api都是以char*作為引數輸入的。

char*型別:是字元指標,在一定條件下等同於字元陣列,如果字元陣列的最後元素是"\0",則是一個c風格的字串。

20樓:匿名使用者

在標頭檔案中新增

#include

#include

void main()

{char *s;

int n;

s="1234";

n=atoi(s);

cout<:1234

標頭檔案中新增#include

用 x=atof(s)可轉化為double型,用(float)x可轉為float型

21樓:匿名使用者

#include

void main()

//用int()也可以換的方便

22樓:匿名使用者

char str="10";

int num=strtol(str,null,10);

其中,把10換成16可以

獲得16進位制數(即num=16),換成其他數字,可以獲得其他進位制的數(如換成8的話,n=8)

23樓:匿名使用者

#include

#include

#include

using namespace std;

template

t lexical_cast(u u)

int main()

24樓:匿名使用者

char dd[n];//設陣列的長度是nint ee[n];

for(int i=0;i

C 結構體中的指標轉換成c型別

先定義出對應c 型別的c 結構體 public struct user group tpublic struct user group list泛型函式實現轉換功能 public static listmarshalptrtostructarray intptr p,int count return...

c語言如何將int型別轉換成字串

c語言copy將int型別轉換成字串參照以bai下 目前在一du般的電腦中,int佔用4位元組,32位元,資料範圍zhi為 2147483648 2147483647 2 31 2 31 1 在之前dao的微型機中,int佔用2位元組,16位元,資料範圍為 32768 32767 2 15 2 15...

pdf轉換成後如何排版,pdf轉換成word後如何排版?

只能自己手動編輯了,pdf轉word比較辛苦,文字排版好多都會亂的,相反word excel轉pdf就方便的多,直接儲存為pdf就行,pdf編輯器 多功能轉換器就可以實現 搞復來雜了,你自用文件王 http www.ai docx.com 轉,完美復原格式啊 你需要專業的工具!pdf轉換成word的...