C#/ Exponential Notation

지수 표기법

자리수가 큰 수를 지수를 이용해서 줄여서 표기하는 법을 말한다. 특정 숫자를 Number x 10n 꼴로 만든 후에, 지수인 n을 e 다음에 표기하는 것. 예컨대 12000000000 => 1.2e+9, 0.00000012 => 1.2e-7 같은 식으로 표현된다. 자리수가 큰 숫자를 짧게 줄여 쓰는 표기법.

e 다음에 오는 숫자가 양수면 10n 형태이기 때문에 뒤의 숫자만큼 오른쪽으로 소수점을 옮기고, 음수면 (1/10)n 형태이기 때문에 뒤의 숫자만큼 왼쪽으로 소수점을 옮긴다.

지수 표기법 변환

지수 표기법을 일반 숫자로 바꾸기

지수 표기법으로 넘어온 데이터를 일반 숫자로 바꾸려면 각 숫자 형식의 Parse를 시도하면 된다. 물론 Parse 자체보다는 TryParse가 안전하니 그 방법을 사용하는 것을 권장한다. TryParse는 out 키워드가 포함되어야 한다.

// parse를 이용한 방법 
decimal x = decimal.Parse("1.2345E-02", NumberStyles.Any); 

// try parse를 이용한 방법 
// NumberStyle 뿐만 아니라 CultureInfo도 포함되어야 한다. 
decimal result; 
if(!decimal.TryParse("1.2345E-02", NumberStyles.Any, CultureInfo.InvariantCulture, out result)) 
{ 
  // 실패시 처리 
}

일반 숫자를 지수 표기법으로 바꾸기

일반 숫자를 지수 표기법으로 바꾸는 것은 매우 쉽다. 해당 숫자 형식을 ToString(“e”) 해주면 된다.

decimal num = 10000000000m; 
string ex = num.ToString("e");

댓글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.