java環境下char型別轉為int型別

2021-06-29 01:51:00 字數 533 閱讀 7768

char型別轉換為int型別:

char a='1';

int b=(int)a;

此時,輸出b得到的是字元『1』的ascii編碼49,其他數字甚至是字母也一樣,按此類方法輸出的都只會是ascii編碼,當然如果不強制型別轉換,直接寫作 int b=a;,編譯也不會出錯,不過輸出的依舊是ascii編碼。如果想直接輸出數字1,則有以下兩種方法(自己比較喜歡前一種)。

a .  char a='1';int b=a-『0』;  這點很容易理解,『1』的ascii編碼為49,『0』的編碼為48,二者做減法,輸出的依舊是ascii編碼,不過此時運算後的編碼就是1,也就是我們所需要的結果。至於具體編碼1所代表的字元可以查表獲得。這裡加不加強制型別轉化都可。 

b.  char a=『1』;string d=string.valueof(a);int c=integer.parseint(d); 在這裡我們先將字元型別的變數通過string提供的方法轉換為字串型別,然後呼叫了integer的方法將字串解析為int型別。這一種方法比較好理解,但個人覺得比較複雜,執行效率相對較低。

怎樣把CString型別轉為char陣列

方法一 char p cstring str hello p str.getbuffer str.getlength str.releasebuffer 方法二 cstring str hello char ch 20 memcpy ch,str,str.getlength 方法三 char ch ...

ARM下char型別符號問題

最近在專案中遇到問題,在x86平台下除錯好的程式,移植到arm上,程式行為完全變了。示例如下 include include int main int argc,char argv else return 0 在x86平台輸出smaller than 128。在arm平台輸出bigger than ...

ubantu下java開發環境的配置

一 安裝和配置cvs版本控制器 1.更新源。2.安裝cvs。3安裝cvsd 注 安裝過程中會詢問repository的位置,可以修改也可以不用改,在這裡我將他更改為 cvsrepository,其中repository的路徑是基於rootjail var lib cvsd路徑下的 4.新建倉庫。5....