[실습으로 다지는 C#] 정수와 소수점 이하 자릿수 결정하기

 

이번 강의에서는 숫자를 출력할 때 정수와 소수점 이하 자릿수를 지정하는 방법을 알아볼거예요.

 다음은 자릿수를 지정하는 표현과 예를 간략하게 나타낸 것입니다.

포멧 문자열

다음은 이번 실습에 사용할 변수 선언입니다.

double dv = 1234.123456789;
int iv = 123;

포멧 문자열에 0의 갯수는 정수 자릿수를 의미하며 빈 자리는 0을 출력합니다.

//0의 갯수 = 정수 자릿수(빈 자리는 0 출력)            
Console.WriteLine("{0:000000}", iv);            
Console.WriteLine("{0:000000}", dv);
실행 결과
000123
001234

“D” 형식 지정자 뒤에 정수 표현도 정수 자릿수를 의미하며 빈자리는 0을 출력합니다. 이 때에 전달하는 인자는 반드시 정수 형식이어야 합니다.

//"D정수" = 정수 자릿수(빈 자리는 0 출력)            
Console.WriteLine("{0:D6}", iv);
//Console.WriteLine("{0:D5}",dv); 오류
실행 결과
000123

 “.” 뒤에 0의 갯수는 소수점 이하 자리를 의미합니다. 실제 자릿수가 더 길면 해당 자리에서 반올림합니다.

//"." 뒤에 0의 갯수 = 소수점 이하 자릿수
Console.WriteLine("{0:.000000}", dv);

1234.123457

형식 지정자 “N”, “F” 뒤에 오는 정수도 소수점 이하 자리를 의미합니다. 참고로 형식 지정자 “N”, “F”만 사용하였을 때는 소수점 이하 2번째 자리까지 표현합니다.

//실수 값의 형식 지정자 뒤에 정수= 소수점 이하 자릿수
Console.WriteLine("{0:N}", dv);
Console.WriteLine("{0:N4}", dv);
Console.WriteLine("{0:F}", dv);
Console.WriteLine("{0:F5}", dv);
실행 결과
1,234.12
1,234.1235
1234.12
1234.12346

다음은 이번 실습에서 사용한 전체 소스 코드입니다.

//http://ehpbu.co.kr
//3. 자릿수 및 출력 표시 기호 지정
using System;


namespace _003_자릿수_및_출력_표시_기호_지정
{
    class Program
    {
        static void Main(string[] args)
        {
            double dv = 1234.123456789;
            int iv = 123;
            
            //0의 갯수 = 정수 자릿수(빈 자리는 0 출력)            
            Console.WriteLine("{0:000000}", iv);            
            Console.WriteLine("{0:000000}", dv);

            //"D정수" = 정수 자릿수(빈 자리는 0 출력)            
            Console.WriteLine("{0:D6}", iv);
            //Console.WriteLine("{0:D5}",dv); 오류
            
            //"." 뒤에 0의 갯수 = 소수점 이하 자릿수
            Console.WriteLine("{0:.000000}", dv);

            //실수 값의 형식 지정자 뒤에 정수= 소수점 이하 자릿수
            Console.WriteLine("{0:N}", dv);
            Console.WriteLine("{0:N4}", dv);
            Console.WriteLine("{0:F}", dv);
            Console.WriteLine("{0:F5}", dv);
        }
    }
}