W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
C#具有下表中顯示的預(yù)定義數(shù)字類型。
有符號整數(shù)
C#類型 | 系統(tǒng)類型 | 后綴 | 大小 | 范圍 |
---|---|---|---|---|
sbyte | SByte | 無后綴 | 8位 | -27 ?27 -1 |
short | Int16 | 無后綴 | 16位 | -215 至215 -1 |
int | Int32 | 無后綴 | 32位 | -231 至231 -1 |
long | Int64 | L | 64位 | -263 至263 -1 |
無符號整數(shù)
C#類型 | 系統(tǒng)類型 | 后綴 | 尺寸 | 范圍 |
---|---|---|---|---|
byte | Byte | 無后綴 | 8位 | 0?28 -1 |
ushort | UInt16 | 無后綴 | 16位 | 0?216 -1 |
uint | UInt32 | U | 32位 | 0至232 -1 |
ulong | UInt64 | UL | 64位 | 0至264 -1 |
實數(shù)
C#類型 | 系統(tǒng)類型 | 后綴 | 尺寸 | 范圍 |
---|---|---|---|---|
float | Single | F | 32位 | +/-(?10-45 ?1038 ) |
double | Double | D | 64位 | +/-(?10-328 ?10308 ) |
decimal | Decimal | M | 128位 | +/-(?10-28 ?1028 ) |
十進制類型通常用于財務(wù)計算。
數(shù)字常量可以使用十進制或十六進制符號;十六進制用0x前綴表示。例如:
int x = 1;
long y = 0x7F;
實數(shù)常量可以使用十進制和/或指數(shù)符號。例如:
double d = 1.5;
double million = 1E06;
默認(rèn)情況下,編譯器將一個數(shù)字常量推斷為double或整數(shù)類型:
如果常量包含小數(shù)點或指數(shù)符號(E),則為雙精度。
常量類型是此列表中可以適合常量值的第一個類型:int,uint,long和ulong。
例如:
Console.WriteLine ( 1.0.GetType()); // Double (double)
Console.WriteLine ( 1E06.GetType()); // Double (double)
Console.WriteLine ( 1.GetType()); // Int32 (int)
Console.WriteLine ( 0xF0000000.GetType()); // UInt32 (uint)
數(shù)字后綴顯式定義常量的類型。
后綴可以是小寫或大寫,如下所示:
類別 | C#類型 | 例子 |
---|---|---|
F | float | float f = 1.0F; |
D | double | double d = 1D; |
M | decimal | decimal d = 1.0M; |
U | uint | uint i = 1U; |
L | long | long i = 1L; |
UL | ulong | ulong i = 1UL; |
指定浮點或十進制字面值時,應(yīng)始終應(yīng)用F
和M
后綴。
沒有F
后綴,以下行將無法編譯,因為4.5將被推斷為double類型,它沒有隱式轉(zhuǎn)換為float:
float f = 4.5F;
相同的原則適用于十進制常量:
decimal d = -1231.13M; // Will not compile without the M suffix.
當(dāng)目標(biāo)類型可以表示源類型中的每個可能值時,整數(shù)轉(zhuǎn)換是隱式的。否則,需要顯式轉(zhuǎn)換。
例如:
int x = 12345; // int is a 32-bit integral
long y = x; // Implicit conversion to 64-bit integral
short z = (short)x; // Explicit conversion to 16-bit integral
float可以隱式轉(zhuǎn)換為double,因為double可以表示float的每個可能的值。
反向轉(zhuǎn)換必須是顯式的。
所有整數(shù)類型可以隱式轉(zhuǎn)換為所有浮點類型:
int i = 1;
float f = i;
反向轉(zhuǎn)換必須是顯式的:
int i2 = (int)f;
當(dāng)您從浮點數(shù)轉(zhuǎn)換為整數(shù)時,任何小數(shù)部分都將被截斷(丟失)。
所有整數(shù)類型都可以隱式轉(zhuǎn)換為十進制類型。
對小數(shù)類型的所有其他數(shù)字轉(zhuǎn)換必須是顯式的。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: