뽑기 도구를 만들다가 생활 계산기도 24개를 만들었어요. 처음엔 뽑기보다 쉬울 줄 알았습니다. 곱하기 나누기만 하면 되니까요. 그런데 시간이 제일 많이 든 건 계산이 아니라 "어떤 숫자를 기준으로 하느냐"였어요.
실업급여 계산기의 예
실업급여 하루 금액은 퇴직 전 평균임금의 60%예요. 공식은 이게 전부입니다. 그런데 여기에 위아래로 막는 선이 있어요.
| 2026년 기준 | 하루 금액 | 어디서 나오나 |
|---|---|---|
| 상한액 | 68,100원 | 고용노동부 고시 |
| 하한액 | 66,048원 | 최저시급 10,320원 × 80% × 8시간 |
상한과 하한 차이가 2천 원 남짓이라, 실제로는 대부분 둘 중 하나에 걸려요. 그러니 이 두 숫자가 틀리면 계산기 전체가 틀립니다. 게다가 하한액은 최저임금을 따라 매년 바뀌고, 상한액은 따로 고시가 나야 바뀌어요. 2027년 최저임금으로 하한을 계산하면 2026년 상한보다 높아지는 역전도 생기는데, 이런 경우 실제로 어떻게 적용되는지 확인하고 반영해야 합니다.
받는 날 수(소정급여일수)도 표로 정해져 있어요. 나이 50세 기준과 고용보험 가입 기간에 따라 120일에서 270일 사이로 나뉩니다. 이 표는 법 별표를 그대로 옮겼어요.
그래서 기준값을 코드에서 떼어 냈다
처음엔 계산 코드 안에 숫자를 바로 적었는데, 해가 바뀔 때 어디를 고쳐야 하는지 찾기가 힘들었어요. 지금은 연도별 기준을 한곳에 모아 두고, 계산 코드는 그 표만 봅니다.
// 연도별 기준 (매년 1월·고시 후 갱신)
var RULE = {
2026: { minWage: 10320, dailyMax: 68100 }
};
var r = RULE[year];
var dailyMin = Math.floor(r.minWage * 0.8 * 8);
var daily = Math.min(r.dailyMax, Math.max(dailyMin, avgWage * 0.6));
그리고 매년 기준을 확인하는 일정을 따로 잡아 뒀어요. 4대보험 요율은 1월, 국민연금 기준소득 상한은 7월, 근로시간 공휴일 표는 연초에 다시 봅니다.
원 단위를 어떻게 자르나
두 번째로 애먹은 건 끝자리였어요. 같은 계산이라도 기관마다 10원 미만을 버리기도 하고, 반올림하기도 합니다. 중개보수는 요율을 곱한 뒤 한도액과 비교해야 하고, 월세는 보증금에 월세 × 100(합계가 5천만 원 미만이면 × 70)을 더한 금액을 거래금액으로 봐요. 이런 건 공식 자료를 읽어 보지 않으면 절대 맞출 수 없는 부분입니다.
자바스크립트의 소수 계산 문제도 있어요. 0.1 + 0.2가 0.30000000000000004가 되는 식이요. 금액은 되도록 원 단위 정수로 바꿔서 계산하고, 마지막에 한 번만 자릅니다.
틀리면 어떻게 하나
계산기 아래마다 "어떤 기준으로 계산했는지"를 적어 두고, 결과는 참고용이라고 밝혀 둡니다. 숫자가 이상하다는 메일이 오면 그 기준부터 다시 확인해요. 계산기는 만드는 것보다 계속 맞게 유지하는 게 일이라는 걸, 24개를 만들고 나서야 알았습니다.