[백업][가리사니] 자릿수 구하기
c#, java, javascript

이 문서는 가리사니 개발자 포럼에 올렸던 글의 백업 파일입니다. 오래된 문서가 많아 현재 상황과 맞지 않을 수 있습니다.

컨텐츠를 늘려보기위해 이런거라도 올려봅니다. 후후후후

log10 을 이용하여 고속으로 자릿수를 구할 때 사용합니다. 자리수가 double(java, c# 기준)을 넘어가서 log10으로 구하기 힘들때는 사실 스트링으로 바꾸고 longth를 구하는게 일반적이지만 고속으로 구하는 것을 중점으로 해보겠습니다.

주의 log 특성상0과 음수는 반드시 예외처리해 주셔야 합니다.

자바스크립트

// 소수점이 있을 경우 소수점을 빼고 계산한다.
function numLength(number)
{
	// 소수점을 빼고 계산
	if ((number = Math.floor(number)) == 0)
	{
		return 1;
	}
	return Math.floor(Math.log10(number > 0 ? number : -number)) + 1;
}

Java

public int numLength(long number)
{
	if (number == 0L)
	{
		return 1;
	}
	return ((int)Math.log10(number > 0L ? number : -number)) + 1;
}

C#

public int NumLength(long number)
{
	if (number == 0L)
	{
		return 1;
	}
	return ((int)Math.Log10(number > 0L ? number : -number)) + 1;
}