Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#의 E 및 e 사용자 지정 서식 지정자 완벽 가이드

C#의 E 및 e 사용자 지정 서식 지정자란?

C#에서 서식 문자열에 "E", "E+", "E-", "e", "e+", "e-" 중 하나가 포함되고 그 뒤에 최소 하나 이상의 0이 따라온다면, 해당 숫자는 숫자와 지수 사이에 "E" 또는 "e"가 삽입된 과학적 표기법(scientific notation) 형태로 서식이 지정됩니다.

"E"
"E+"
"E-"
"e"
"e+"
"e-"

여기서 지정자 뒤에 오는 0의 개수는 출력되는 지수(exponent)의 자릿수를 결정합니다. 예를 들어 E+0은 지수를 최소 한 자리로 표시하고, E+000은 지수를 세 자리로 표시합니다. 소수점 이하의 # 기호는 유효 숫자가 있는 경우에만 표시되는 선택적 자릿수를 의미합니다.

예제 코드

아래 예제에서는 ToString() 메서드와 String.Format() 메서드 두 가지 방식으로 숫자 9400을 과학적 표기법으로 변환합니다.

using System;
using System.Globalization;

class Demo {
   static void Main() {
      double num = 9400;
      Console.WriteLine(num.ToString("0.###E+0", CultureInfo.InvariantCulture));
      Console.WriteLine(String.Format(CultureInfo.InvariantCulture, "{0:0.###E+0}", num));
      Console.WriteLine(num.ToString("0.###E+000", CultureInfo.InvariantCulture));
      Console.WriteLine(String.Format(CultureInfo.InvariantCulture, "{0:0.###E+000}", num));
   }
}

실행 결과

9.4E+3
9.4E+3
9.4E+003
9.4E+003

결과 분석

위 실행 결과에서 확인할 수 있듯이, ToString() 메서드와 String.Format() 메서드는 동일한 서식 지정자를 사용할 때 같은 결과를 반환합니다.

또한 지정자 뒤의 0 개수에 따라 지수 부분의 자릿수가 달라집니다. "0.###E+0" 형식에서는 지수가 한 자리(9.4E+3)로 표시되고, "0.###E+000" 형식에서는 지수가 세 자리(9.4E+003)로 표시됩니다. 이처럼 E 및 e 사용자 지정 지정자를 활용하면 크거나 작은 숫자를 원하는 정밀도의 과학적 표기법으로 손쉽게 출력할 수 있습니다.