IT
[C#] 소수점이 있는 숫자는 float일까 double일까.
타이젠 개발자, 윤진
2017. 2. 4. 09:00
안녕하세요,
이번에는 아주 간단한 사실 하나만 확인하고 넘어가겠습니다.
소수점이 있는 숫자 뒤에 'f'(float0나 'd'(double)를 붙이지 않으면,
해당 숫자는 어떤 타입이 될까요?
정답은 C나 C++과 마찬가지로 double 타입입니다.
class Program
{
static void Main(string[] args)
{
Console.WriteLine((3.14).GetType());
}
}
위의 코드를 실행하면,
"System.Double"이라는 결과가 나옵니다.
그렇다면, float 변수에 아무 suffix가 없는 숫자를 넘기면 어떻게 될까요?
class Program
{
static void Main(string[] args)
{
float f = 3.14;
Console.WriteLine(f);
}
}
위의 코드를 실행하면 컴파일 에러가 발생합니다.
"double 형식의 리터럴을 암시적으로 'float' 형식으로 변환할 수 없습니다. 이 형식의 리터럴을 만들려면 'F' 접미사를 사용하세요."
위의 오류 메시지에서 제안한대로 숫자 뒤에 F를 붙이고 다시 컴파일 해보겠습니다.
class Program
{
static void Main(string[] args)
{
float f = 3.14F;
Console.WriteLine(f);
}
}
위의 코드는 정상적으로 컴파일이 되고,
콘솔에 3.14가 찍힙니다.
이상 간단한 사실을 확인해보았습니다.