在 C# 中處理數字時,其中一個關鍵面向,就是區分整數(小數點後沒有位數的數字)與浮點數(小數點後有零或多個位數的數字)。
C# 中最常用的兩種數值型別是int(32 位元整數)與double(64 位元浮點數)。
int i = 123;
double d = 54.29;
整數與浮點數都可以使用_字元作為_數字分隔符號_,這在定義大數字時很有幫助:
int largeInt = 1_000_000;
// => 1000000
double largeDouble = 9_876_543.21;
// => 9876543.21
算術運算使用標準的算術運算子(+、-、*等)來進行。數字可以使用標準的比較運算子(<、>=等),以及等於運算子(==)和不等於運算子(!=)來比較。
5 * 6;
// => 30
1.2 > 0.8
// => true
2 != 4
// => true
在數值型別之間轉換時,有兩種數值轉換:
由於int的精確度比double低,因此從int轉換成double是安全的,所以屬於隱式轉換。不過,從double轉換成int可能會遺失資料,因此需要顯式轉換。
int i = 9;
double d = 2.66;
// Safe conversion, thus implicit conversion
double fromInt = i;
// Potentially unsafe conversion, thus explicit conversion
int fromDouble = (int)d;