數值與字元 串 型別轉換

2021-07-02 19:03:51 字數 1473 閱讀 9250

char型別本身就是整數標識的,範圍為0-255

任意乙個0-255內的int也可以直接轉化為char,對應關係即ascii碼

code 1 得到的b,c均是a對應的char

經常需要用到的是(int) 5 <=> (char) 5

可以用code 2 和code 3 的簡單方法

幾個關鍵的ascii碼

『0』 <=> 32

『a』 <=> 97

『a』 <=> 65

space <=> 48

//code 1

int a = x; // x is a int from 0-255

char b = char(a);

char c = (char)a;

//if a>255 or a<0; input equals to x mod 256

//code 2

int a = 5;

char b = (char)(a + '0');

//code 3

char a = 5;

int b = a - '0';

stl 自帶 atoi() 函式可以直接將 string 表示的整數轉換為 int

atoi() 可以轉換負數,還需注意 string 表示的整數可能溢位

atoi() **於c中的庫函式 stdlib.h, 輸入是c風格的字串

stl 中另乙個函式stoi() 也可以將 string 表示的整數轉換為 int

stoi() 可以包含進製,可以轉換指數表示式

相關函式

atol

string <=> long integer

atof

string <=> double

stol()

string <=> long int

stoul()

string <=> unsigned integer

strtol()

int to string, itoa()

itoa() 與 atoi() 對應,可包含進製,但用起來不夠順手

to_string()

c++11中的函式,很好用

利用字串流stringsream 可以快速實現,十進位制數轉換流暢,很好用

//code 4

string str(******);

stringstream ss(str);

int number;

ss>>number;

string.at() 索引得到的即為該位置處的字元

string 與 char 的加法有過載,可以直接把char字元加在string 之後

c_str() 將string 轉換為c風格字串

char* 可以直接用來初始化string 變數

C 字串與數值型別的轉換函式

atoi 將字串轉換成整型數 相關函式 atof,atol,atrtod,strtol,strtoul 表頭檔案 include 定義函式 int atoi const char nptr 函式說明 atoi 會掃瞄引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,而再遇到非...

字串轉換數值型別異常分析

在這篇文章中,我們來分析一下c 的函式int.parse 字串轉換數值型別時候發生的異常。int.parse string str 這種方法是將數字內容的字串轉換為int型別。如果字串的內容為null 則丟擲argumentnullexception異常 如果字串內容不是數字,則丟擲formatex...

字串與數值間的資料轉換

include 字串轉 浮點型 double wcstod const wchar t ptr,wchar t endptr float wcstof const wchar t ptr,wchar endptr long double wcstold const wchar t ptr,wchar...