Coding/JavaScript
javascript 소숫점 내림, 올림, 반올림 Math.ceil, Math.floor, Math.round
CoCoZe
2020. 2. 26. 01:21
알고리즘 문제를 푸는데, 숫자의 모든 자리의 수를 더하는 문제가 나왔다.
while(number > 0){
sum+=number%10;
number/=10;
}
C++을 생각하고 이렇게 작성했는데, 문제가 발생했다.
C++은 자료형이 아예 정수형과 실수형이 나뉘어져있는데,
javascript는 둘의 구분이 없이 Number라는 자료형으로 통일되어 있어서, C++과 다르게 나누기를 하다보면,
정수에서 실수로 바뀌어서, 정확히 말하면 소수점이 발생하여 문제가 발생했다.
따라서 이 문제를 해결하기 위해서는 계산할 때, 소숫점을 버리면 문제가 해결되었다.
그 방법은
숫자를 var number = 1.6 이라고 하면
올림
Math.ceil(number)
= 2
내림
Math.floor(number)
= 1
반올림
Math.floor(number)
= 2
반응형