C#/ Exponential Notation

지수 표기법

자리수가 큰 수를 지수를 이용해서 줄여서 표기하는 법을 말한다. 특정 숫자를 Numberx10n 꼴로 만든 후에, 지수인 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");
It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

The author

지성을 추구하는 디자이너/ suyeongpark@abyne.com

댓글 남기기