자바스크립트에 내장함수가 있지만 원하는 결과가 안나옵니다. 특히나 반올림 같은 경우는 말이죠. 만들어 써야 합니다.
아래를 참고하세요.
주욱 긁어서 사용하시거나 필요한 부분만 떼다가 사용하세요. 예제가 포함되어 있으니 잘 떼서 사용하시구요.
<!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>
'프로그래밍 > JavaScript' 카테고리의 다른 글
| JavaScript 오브젝트(Object) 설명 (0) | 2013.01.04 |
|---|---|
| 자바스크립트 날짜 계산 (4) | 2012.06.21 |
| 콤마 제거하기 (0) | 2012.05.15 |
| 3자리 콤마 표시하기 (0) | 2012.05.15 |
| 백스페이스 키를 막아보기 (0) | 2011.07.13 |
| parseInt() 함수가 이상해~ (0) | 2011.07.12 |
| [javascript] AJAX + JSON 의 eval() 함수 사용의 문제 (0) | 2011.01.19 |
| [javascript] AJAX 기본으로 쓰기 (0) | 2011.01.19 |