오늘은 자바스크립트에서 정수부 또는 소수점  반올림 관련 함수에 대해 설명하고자 합니다.


당연히 Math.round 함수를 사용하면 되지만 좀 더 경우의 수가 많은 경우에도 문제없이 사용하려면 좀 다듬어서 함수를 만들어서 사용해야 합니다.



* 소스코드


// n : 수치

// digits : 자를 소수점 자리수

function RoundXL(n, digits) {


var str_n = String(n); //숫자를 스트링으로 변환 

str_n = replaceAll(str_n, ",", "");

var float_n = parseFloat(str_n);


        // 소수부 반올림

if (digits >= 0) return parseFloat(float_n.toFixed(digits)); 


        // 정수부 반올림 ( digit값이 - 이면 정수부 상위 부분이 반올림 )

digits = Math.pow(10, digits); 

var t = Math.round(float_n * digits) / digits;


return parseFloat(t.toFixed(0));

}


* 사용법


var aa = RoundXL(123,456, 2);    // result : 123.46

var aa = RoundXL(123,456, -1);   // result : 120



이 함수만 있으면 소수점이든, 정수든 원하는 위치에서 반올림이 가능합니다.











+ Recent posts