2012년 6월 22일 금요일

math.log 그리고 math.round


math.log( )


Returns the closest double approximation of the natural logarithm of the argument. The returned result is within 1 ulp (unit in the last place) of the real result. 


Special cases: 


log(+0.0) = -infinity 
log(-0.0) = -infinity 
log((anything < 0) = NaN 
log(+infinity) = +infinity 
log(-infinity) = NaN 
log(NaN) = NaN 
Parameters:
d the value whose log has to be computed.
Returns:
the natural logarithm of the argument.


컴퓨터 연산에서 NaN(Not a Number)은 연산 과정에서 잘못된 입력을 받았음을 나타내는 기호이다. 특히 부동 소수점 연산에서 사용한다. 예를 들어서, 대부분의 부동 소수점 장치는 음수에 대해서 제곱근을 구하려는 연산에 대해서 이것은 불가능(invalid)하다는 메시지와 함께 NaN 값을 반환한다.












math.round( )



Math.round()는 소숫점을 가지고 있는 부동숫자를 소숫점을 기준으로 무조건 0.5 이상은 반올림하여 정수로 만듭니다. 그래서 Math.round(2.55) 는 3이 됩니다. 여기서 소숫점이 한 자리 이상이고 소숫점의 갯수에 맞게 round 하기 위해서는 직접 만들어서 사용해야 합니다.


function myRound(num, pos) { 
var posV = Math.pow(10, (pos ? pos : 2))
return Math.round(num*posV)/posV
}
는 myRround(2.345) 은 2.35로 나오고 myRround(2.34567, 3) 은 2.346 으로 나옵니다. 두번째 인자가 round 할 소숫점의 갯수 기준입니다. 갯수를 지정하지 않으면 기본으로 2번째 소수를 기준으로 round합니다.


댓글 없음:

댓글 쓰기