C#에서 숫자를 다룰 때 중요한 점 중 하나는 정수(소수점 뒤에 자릿수가 없는 수)와 실수(소수점 뒤에 0개 이상의 자릿수가 있는 수)를 구분하는 거예요.
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;