DB에서 저장된 값(숫자)의 첫번째 숫자의 값을 읽어와야 하게 되었습니다. (말이 어렵지요? ^^;;;)
예) 3121 또는 21 이라는 숫자가 있는데 이 숫자들에서 처음으로 나오는 3, 2의 값을 읽어오는 작업입니다.스트링으로 substr 메소드를 사용해서 0~1의 숫자를 읽어오는 방법도 있습니다만, 수학을 써서 해결할 방법이 없을까 생각을하며 굳어버린 머리를 돌려봤습니다.
어렴풋한 기억으로는 log(base 10)을 사용하면 자릿수가 나온다는 기억이 떠오르더군요. (왜 나오는지는 생각이 안나네요 -_-;;;;) 이 값의 ceiling값을 구하면 되는 걸로 알고 있는데....
문제는 JavaScript에서 2 base로한 log 메소드는 제공되나 10 base로 제공되는 log 메소드는 없더군요.
검색을 해보니 다음과 같은 방법으로 자릿수를 구할 수 있었습니다.
var cipher = Math.ceil((Math.log(value)/Math.log(10)));결과를 이끌어내기는 했지만... 왜 그런지는 전혀 기억이 나지 않나는군요.
벌써 나이가 들었는지 -_-;;;
관련자료: Variable Based Logarithm
댓글 없음:
댓글 쓰기