본문 바로가기

What I Learnd/TIL

TIL - 소수점 자리수 올림, 내림, 반올림, 제거하기

programmers 매일 도전 중

// 문제

정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성해주세요.
// 풀이

// 1. floor를 사용해 소수점을 내려서 해결
function solution(num1, num2) {
    var answer = num1 / num2;
    return (Math.floor(answer));
}

// 2. 소수점 제거
function solution(num1, num2) {
    var answer = num1 / num2;
    return (answer.toFixed(0));
}
// -> 실패! toFixed() 함수는 반올림을 원칙으로 하여, 원하는 답을 얻을 수 없었다!

해당 문제를 통해 자바스크립트로 소수점 자리수 처리하는 방법에 대해 알아봤다.

 

추가

// 문제

정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요.
// 풀이

function solution(num1, num2) {
    var answer = (num1 / num2) * 1000;
    return (Math.floor(answer));

 

 

빌트인 객체 Math 객체와 Number 를 사용한 처리에 대해 정리해보자.

// 소수점 올림
const number1 = 1.3434
const number2 = 10.1321

console.log(Math.ceil(number1))   // 2
console.log(Math.ceil(number2))   // 11

// 소수점 내림
const number1 = 1.3421
const number2 = 10.4321

console.log(Math.floor(number1))   // 1
console.log(Math.floor(number2))   // 10

// 소수점 반올림
const number1 = 1.3421
const number2 = 10.4321

console.log(Math.round(number1))   // 1
console.log(Math.round(number2))   // 10

// 소수점 제거
const number1 = 1.3431
const number2 = 1.357689

console.log(number1.toFixed(2))   // 1.34
console.log(number2.toFixed(4))   // 1.3576

참고자료

Math.ceil()  Math.floor()  Math.round()  Math.toFixed()