서비스를 개발하다보면 아래와 같이 평점과 같이 평균 점수를 낸 다음에
결과값을 숫자 그대로 보여줘야할 때가 많습니다.
수치값을 그래프로 보여준다면 상관없지만
소수점을 생각하지 못했다면 아래와 같이 예상하지 못한 결과가 발생합니다. 3.6666.....
이 문제를 해결하기 위해서 아래와 같이 소수점을 어디까지 나타낼 것인지 생각한 다음에
toFixed(나타낼 자릿수)나 Math를 활용해주면 됩니다.
소수점 1자리 까지 표현하고 싶다면 아래와 같이 toFixed(1)을 사용하거나
Math.round와 / 나누기를 이용하여 동일하게 표현해줄 수 있습니다.
homeTotal = homeTotal / count
obj.homeTotal = homeTotal.toFixed(1) //toFiexd 활용
obj.homeTotal = Math.round(homeTotal*10) / 10 //Math와 나누기 연산 활용
toFixed는 원하는 자리수 만큼 표현해주지만
반환타입이 String(문자열)이기 때문에 타입 변환에 불편함이 있습니다.
그래서 저는 원하는 소수점 자리에 해당 하는 만큼 곱한 다음, Math.round로 반올림하여 만들어진 정수에
/ (나누기)를 통해서 부동 소수점 숫자로 처리하여 타입 변환없이 처리하고 있습니다.
그러면 아래와 같이 깔끔한 화면 완성~!
반응형
'메모 log (간단메모) > frontend' 카테고리의 다른 글
SSR과 CSR 기본편 (0) | 2022.08.16 |
---|---|
chart.js 라이브러리 사용시 발생가능한 문제 (0) | 2022.05.18 |