안녕하세요,
이번에는 아주 간단한 사실 하나만 확인하고 넘어가겠습니다.
소수점이 있는 숫자 뒤에 '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가 찍힙니다.
이상 간단한 사실을 확인해보았습니다.
'IT' 카테고리의 다른 글
[C#] delegate, anonymous delegate, lambda 용례비교 (0) | 2017.02.15 |
---|---|
[C#] using과 Dispose()로 리소스 정리하기 (0) | 2017.02.13 |
[C#] 필드 사용가능? - interface, abstract class, partial class, virtual method (30) | 2017.02.12 |
[C#] 속성에 대한 간단한 테스트 (0) | 2017.02.09 |
[C#] 늘 헛갈리 Modal vs Modeless (0) | 2017.02.07 |
[C#] readonly 변수를 사용하는 이유는? (30) | 2017.02.02 |
[C#] 왜 partial class를 사용하는걸까요? (34) | 2017.02.01 |
[C#] char[]를 string으로 변환하기 (30) | 2017.01.31 |
[C#] bool.Parser vs Convert.ToBoolean() (0) | 2017.01.30 |
[C#] Unicode에서 한글 초성/중성/종성에 대한 짧은 고찰 (0) | 2017.01.29 |