티스토리 뷰

반응형

Javascript에서 소수점 정리할 수 있는 함수에 대해 알아보겠습니다. 간단히 사용할 수 있는 함수는 Math 객체에 있는 ceil(), floor(), round() 메서드와 toFixed() 함수가 있습니다.

 

1. Math 객체 메서드

Math.ceil() : 올림

Math.floor() : 버림

Math.round() : 반올림

 

이 메서드들은 소수점 첫째 자리에서 올림이나 버림, 반올림을 해서 정수로 값을 나타내주는 역할을 합니다. 

다음 예제를 보면서 실제 변환되는 값을 확인해보겠습니다.

 

<script>

    /* 올림 */
    Math.ceil(10.1); //11
    Math.ceil(10.1534); //11
    Math.ceil(-10.9); //-10
    Math.ceil(-10.919); //-10

    /* 내림 */
    Math.floor(10.9); //10
    Math.floor(10.919); //10
    Math.floor(-10.1); //-11
    Math.floor(-10.153); //-11

    /* 반올림 */
    Math.round(10.1); //10
    Math.round(10.1534); //10
    Math.round(10.9); //11
    Math.round(10.919); //11
    
    Math.round(-10.9); //-11
    Math.round(-10.919); //-11
    Math.round(-10.1); //-10
    Math.round(-10.153); //-10

</script>

위 예제를 보면 3가지 메서드 모두 소수점 자리수와 상관없이 소수점 첫째 자리를 기준으로 값을 처리하는 것을 확인하실 수 있습니다.

 

ceil()의 경우 값이 양수이면 소수점 첫째자리 수가 1이상이면 무조건 값을 올려주고 음수이면 소수점 첫째자리 수에 상관없이 모두 값을 버려줍니다.

 

floor()의 경우 값이 양수이면 소수점 첫째자리 수에 상관없이 모두 값을 버려주고 음수이면 소수점 첫째자리 수가 1이상인 경우 값을 내려줍니다.

 

round()의 경우 소수점 첫째자리 수가 5이상이면 올림, 5미만이면 버림으로 값을 나타내줍니다.

 

 

2. .toFixed() 함수

위에서 사용한 Math 객체 메서드의 경우 값이 정수로만 표현된다는 단점이 있습니다. 만약 원하는 소수점 자리 수까지 나타내주기 위해서는 .toFixed() 함수를 사용해야 합니다.

 

간단한 예제를 통해서 .toFixed() 함수의 기능을 확인해보겠습니다.

 

<script>
    var n = 98.56321;
    var m = -98.56321;
    
    n.toFixed(0); //99
    n.toFixed(1); //98.6
    n.toFixed(2); //98.56
    n.toFixed(3); //98.563
    n.toFixed(5); //98.56321
    n.toFixed(10); //98.5632100000

    m.toFixed(0); //-99
    m.toFixed(1); //-98.6
    m.toFixed(2); //-98.56
    m.toFixed(3); //-98.563
    m.toFixed(5); //-98.56321
    m.toFixed(10); //-98.5632100000
</script>

위 예제와 같이 .toFixed() 함수를 사용하면 원하는 자리 수까지 값을 표현해줄 수 있습니다. 자리 수가 0일 경우 소수점 첫째자리에서 0의 자리까지 반올림을 해주고 1일 경우는 소수점 둘째자리에서 1의 자리까지 반올림을 해줍니다. 실수의 소수점 자리 수보다 많이 설정할 경우 그 값들은 자리 수만큼 0으로 표현됩니다. 

 

자리 수는 0부터 100까지의 값만 허용되며 음수나 100을 초과하는 값을 입력할 경우 에러가 발생하게 됩니다. 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함