아래의 방식으로 처리가 안되는 경우가 있으려나?
//param : strMode - 수식 //param : nCalcVal - 처리할 값(소수점 이하 데이터 포함) //param : nDigit - 연산 기준 자릿수 // => -2:십단위, -1:원단위 // , 0:소수점 1자리, 1:소수점 2자리, 2:소수점 3자리, 3:소수점 4자리, 4:소수점 5자리 처리 function xxx(strMode, nCalcVal, nDigit) { if(strMode == "CEIL") { //절상 if(nDigit < 0) { nDigit = -(nDigit); nCalcVal = Math.ceil(nCalcVal / Math.pow(10, nDigit)) * Math.pow(10, nDigit); } else { nCalcVal = Math.ceil(nCalcVal * Math.pow(10, nDigit)) / Math.pow(10, nDigit); } } else if(strMode == "FLOOR") { //절하 if(nDigit < 0) { nDigit = -(nDigit); nCalcVal = Math.floor(nCalcVal / Math.pow(10, nDigit)) * Math.pow(10, nDigit); } else { nCalcVal = Math.floor(nCalcVal * Math.pow(10, nDigit)) / Math.pow(10, nDigit); } } else { //반올림 if(nDigit < 0) { nDigit = -(nDigit); nCalcVal = (nCalcVal / Math.pow(10, nDigit)).toFixed(0) * Math.pow(10, nDigit); } else { nCalcVal = nCalcVal.toFixed(nDigit) } } return nCalcVal; }
댓글 없음:
댓글 쓰기