此為學習筆記,如果有錯誤或是相關資訊歡迎留言告知與分享,謝謝!
int
e.g.,
int num = 888;
-
定義:帶正負號的32位元整數
int16? int32? int64?
-
差異:所需要的記憶體大小不同
16位元、32位元、64位元
所需位元數越大,則可存整數大小越大
如果寫int,則指int32
float
e.g.,
float a = 3. 123456f;
float a = 3. 123456F;
-
定義:精準度達小數後6位數
-
需加後置字元( f 或 F ),否則會視此變數為double
若宣告float變數時,超過小數點後6位數呢??
e.g.,
-
float a = 3.1234567f
印出結果
3.123457
-
float a = 3.1234560f
印出結果
3.123456
double
e.g.,
double b = 0.12345678901234d;
double b = 0.12345678901234D;
-
定義:精準度達小數後14位數
-
雖然預設型別是double,還是會習慣加後置字元( d 或 D )
若宣告double變數時,超過小數點後14位數呢??
ex:
-
double a = 3.123456789012345d
印出結果
3.12345678901235
-
double a = 3.123456789012340d
印出結果
3.12345678901234
decimal
e.g.,
decimal c = 7.1234567890123456789012345678m;
decimal c = 7.1234567890123456789012345678M;
-
金錢上的計算,通常會用這個型別
-
定義:精準度達小數後28位數
-
需加後置字元( m或 M ),否則會視此變數為double
若宣告decimal變數時,超過小數點後28位數呢??
e.g.,
-
decimal c = 7.12345678901234567890123456789m;
印出結果
7.1234567890123456789012345679
-
decimal c = 7.12345678901234567890123456780m;
印出結果
7.1234567890123456789012345678
參考網站
Value Type
https://docs.microsoft.com/zh-tw/dotnet/csharp/language-reference/keywords/