Programing/javascript

금액을 10원 단위로 반올림, 올림, 내림하는 JavaScript

Dongkkase 2025. 4. 21. 16:43
반응형

금액 데이터를 처리하다 보면 소수점 이하 혹은 특정 자리 이하 단위를 정리하는 작업이 필요할 때가 많습니다. 오늘은 금액을 10원 단위로 정리하는 JavaScript 함수인 chg_1won 함수에 대해 살펴보겠습니다. 이 함수는 입력받은 금액을 기준으로 반올림, 내림, 올림 처리하여 1의 자리 숫자를 제거하고 10원 단위로 정리하는 역할을 수행합니다.


✨ 함수 코드 원문

function chg_1won(amount, mode = 'R') {
    const div = amount / 10;

    const rounded = {
        'F': Math.floor,
        'R': Math.round,
        'C': Math.ceil
    }[mode] || Math.round;

    return rounded(div) * 10;
}

✨ 매개변수 설명

  • amount: 처리할 원금 (숫자)
  • mode: 정리 방식. 세 가지 모드를 지원합니다:
    • 'F': 내림 (Floor)
    • 'R': 반올림 (Round, 기본값)
    • 'C': 올림 (Ceil)

✨ 동작 방식

  1. 입력값 amount를 10으로 나눕니다.
  2. mode 값에 따라 Math.floor, Math.round, Math.ceil 중 하나를 적용하여 정리합니다.
  3. 다시 10을 곱해 원래 단위(10원 단위)로 환산합니다.
  4. 정리된 금액을 반환합니다.

✨ 사용 예시

chg_1won(1234, 'F'); // 결과: 1230 (내림)
chg_1won(1234, 'R'); // 결과: 1230 (반올림)
chg_1won(1234, 'C'); // 결과: 1240 (올림)
chg_1won(1234);      // 결과: 1230 (기본값은 반올림)

✨ 활용 팁

  • 결제 금액 계산, 포인트 정리, 회계 처리 등 다양한 금액 정리 상황에서 사용 가능합니다.
  • 단위만 바꾸면 100원 단위 정리 등으로 확장도 가능합니다.
  • 반환 값을 문자열 포맷으로 처리하면 UI 출력 시에도 손쉽게 활용할 수 있습니다.

✨ 결론

chg_1won 함수는 단순하지만 실용적인 금액 처리 로직을 담고 있습니다. mode를 통해 유연하게 처리 방식 선택이 가능하며, 실제 서비스에서도 바로 활용 가능한 범용 함수를 구현할 수 있습니다.

반응형