서비스를 개발하다보면 아래와 같이 평점과 같이 평균 점수를 낸 다음에
결과값을 숫자 그대로 보여줘야할 때가 많습니다.
수치값을 그래프로 보여준다면 상관없지만
소수점을 생각하지 못했다면 아래와 같이 예상하지 못한 결과가 발생합니다. 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로 반올림하여 만들어진 정수에
/ (나누기)를 통해서 부동 소수점 숫자로 처리하여 타입 변환없이 처리하고 있습니다.
그러면 아래와 같이 깔끔한 화면 완성~!
'Frontend' 카테고리의 다른 글
코드 난독화란 ? 난독화 시 오류 발생 가능성은 ? (1) | 2024.05.05 |
---|---|
SSR과 CSR 기본편 (0) | 2024.03.17 |
Nextjs 기본 개발 팁 - dotenv lib (0) | 2024.03.10 |
Nextjs 기본 개발 팁 - globals.css 공통 스타일 정의 (0) | 2024.03.03 |
Recoil을 이용한 전역 상태관리 (4) | 2024.02.25 |