본문 바로가기
프로그래밍/JavaScript

자바스크립트 반올림, 올림, 버림

by zoo10 2012. 5. 9.

자바스크립트에 내장함수가 있지만 원하는 결과가 안나옵니다. 특히나 반올림 같은 경우는 말이죠. 만들어 써야 합니다.

아래를 참고하세요.

주욱 긁어서 사용하시거나 필요한 부분만 떼다가 사용하세요. 예제가 포함되어 있으니 잘 떼서 사용하시구요.



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> 자바스크립트 반올림, 올림, 버림 </title>
<script type="text/javascript">
<!--
// 지정자리 반올림 (값, 자릿수)
function Round(n, pos) {
	var digits = Math.pow(10, pos);

	var sign = 1;
	if (n < 0) {
		sign = -1;
	}

	// 음수이면 양수처리후 반올림 한 후 다시 음수처리
	n = n * sign;
	var num = Math.round(n * digits) / digits;
	num = num * sign;

	return num.toFixed(pos);
}

// 지정자리 버림 (값, 자릿수)
function Floor(n, pos) {
	var digits = Math.pow(10, pos);

	var num = Math.floor(n * digits) / digits;

	return num.toFixed(pos);
}

// 지정자리 올림 (값, 자릿수)
function Ceiling(n, pos) {
	var digits = Math.pow(10, pos);

	var num = Math.ceil(n * digits) / digits;

	return num.toFixed(pos);
}

function calcRound(){
	var i = document.getElementById("aa").value;
	document.getElementById("result").innerHTML = Round(i, 1) ;
}
function calcCeil(){
	var i = document.getElementById("aa").value;
	document.getElementById("result2").innerHTML = Floor(i, 1) ;
}
function calcFloor(){
	var i = document.getElementById("aa").value;
	document.getElementById("result3").innerHTML = Ceiling(i, 1) ;
}
//-->
</script>
</head>

<body>
<input type="text" id="aa"> <br/>
<button onclick="calcRound()">반올림</button> <br/>
<button onclick="calcCeil()">올림</button> <br/>
<button onclick="calcFloor()">버림</button> <br/>
반올림 값 : <div id="result"></div> <br/>
올림 값 : <div id="result2"></div> <br/>
버림 값 : <div id="result3"></div> <br/>
</body>
</html>