728x90
728x90
쇼핑몰 결제 및 가격제안 처리 하는 부분에서 소수점 문제가 발생함
자바스크립트의 Float 사용하면 반올림 문제가 생길 수 있어서 잘라버리기로 결정
또한, 코인 결제 시스템이 붙으면 소수점 역할이 중요하기 때문에 함수 개발하기로 결정
const truncateNumber = (value, decimalPlaces) => {
const multiplier = Math.pow(10, decimalPlaces);
return Math.floor(value * multiplier) / multiplier;
}
- 화살표 함수 방식 사용
- 'value'와 'decimalPlaces'라는 두 개의 매개변수
-> 'value'는 잘라낼 대상이 되는 숫자
-> 'decimalPlaces'는 소수점 이하 몇 번째 자리에서 잘라낼지를 나타내는 숫자
- const multiplier = Math.pow(10, decimalPlaces);
-> 10을 'decimalPlaces'만큼 제곱하여 'multiplier'라는 상수에 저장
-> 'value'를 'decimalPlaces'만큼의 자릿수로 올림하기 위한 준비 단계
- return Math.floor(value * multiplier) / multiplier;
-> 'value'에 'multiplier'를 곱한 후, Math.floor 함수를 사용하여 소수점 아래를 모두 버린 후 다시 'multiplier'로 나누어 원래의 자릿수로 되돌림.
-> 결과 'value'는 'decimalPlaces'에서 정한 소수점 자리에서 잘라내어 반환
truncateNumber(1.2345, 2);
// 결과 = '1.23'
728x90
728x90
'JS > 함수(Function)' 카테고리의 다른 글
| 이메일에서 아이디 가져오는 함수 (4) | 2024.02.02 |
|---|---|
| 이메일 유효성 검사 함수 (1) | 2024.02.01 |
| 숫자 한국어로 표시하는 함수 (2) | 2024.01.31 |
| 세 자리마다 콤마(,) 넣어주는 함수 (2) | 2024.01.29 |
| JS에서 함수(Function)이란? (5) | 2024.01.28 |
댓글