원본 본문으로 이동하기

자릿수 구하기

박용서 - 컨텐츠를 늘려보기위해 이런거라도 올려봅니다. 후후후후 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; } - C# 자바스크립트 자바