Workshop / Practice 08
예산 집행률 계산기 · 완성 예제
업무규칙금액은 가상의 만원 단위이며 0 이상의 안전한 정수입니다. 예산은 0보다 커야 합니다. 집행률 80% 미만 정상, 80% 이상 100% 미만 주의, 100% 이상 초과입니다. 표시만 소수점 한 자리로 반올림하며 판정은 원래 값을 사용합니다. 쉼표와 ‘만원’ 글자는 입력하지 않습니다.
입력하고 결과를 확인하세요
검증 사례
일반 50%, 경계 80·100%, 예산 0, 지출 빈칸, 지출 abc를 먼저 확인하세요.
| 구분 | 예산 · 만원 | 지출 · 만원 | 예상 결과 |
|---|---|---|---|
| 일반 | 100 | 50 | 50.0% · 정상 |
| 경계 바로 전 | 100 | 79 | 79.0% · 정상 |
| 80% 경계 | 100 | 80 | 80.0% · 주의 |
| 100% 경계 | 100 | 100 | 100.0% · 초과 |
| 100% 초과 | 100 | 120 | 120.0% · 초과 |
| 실제 지출 0 | 100 | 0 | 0.0% · 정상 |
| 예산 0 | 0 | 10 | 예산은 0보다 커야 합니다 |
| 누락 | 100 | 빈칸 | 예산과 지출을 모두 입력해 주세요 |
| 문자 | 100 | abc | 0 이상의 정수를 입력해 주세요 |
| 음수 | 100 | -1 | 0 이상의 정수를 입력해 주세요 |
| 소수 | 100 | 1.5 | 0 이상의 정수를 입력해 주세요 |
| 표시 반올림 | 10000 | 7996 | 80.0% · 정상 (판정 기준 79.96%) |
읽어 볼 계산 코드
아래는 실제로 적용된 수식·판정과 같은 흐름의 함수입니다. 입력 검증을 통과한 숫자만 받는다고 가정합니다.
function calculate(budget, spent) {
const rate = (spent / budget) * 100;
let status;
if (rate >= 100) {
status = "초과";
} else if (rate >= 80) {
status = "주의";
} else {
status = "정상";
}
return { rate, status };
}교육용 가상 자료 계산기입니다. 브라우저에서만 동작하며 입력값을 서버에 저장하지 않습니다. HTML 파일에는 동작에 필요한 코드가 모두 포함되어 있습니다.