에너지 관점 스터디:에관스

컴활 1급 · Access 숫자 함수

컴활 1급 Round Int Fix 음수 차이: 아래 방향과 0 방향

두음 암기는 `반올·작정·영절`입니다. Round는 지정 자리 반올림, Int는 원래 값 이하의 가장 큰 정수, Fix는 0 방향으로 소수 부분을 없애는 함수입니다. '작정'은 원래 정수보다도 무조건 더 작아진다는 뜻은 아닙니다.

Int(-2.7)은 -3, Fix(-2.7)은 -2입니다. 양수에서는 둘이 같아 보이지만 음수의 아래 방향과 0 방향은 서로 다릅니다.

Access/VBA Round는 정확한 중간값에서 남기는 마지막 숫자를 짝수로 정하는 반올림을 사용합니다. 그래서 Round(2.5,0)은 2이며, Excel 워크시트 ROUND의 결과와 같다고 가정하면 안 됩니다.

반올·작정·영절로 Round 반올림과 Int 아래 방향, Fix 0 방향을 나누고 -2.7의 -3·-2 결과를 비교한 인포그래픽
세 함수의 기본 방향입니다. 이미 정수인 값은 그대로이며, Access/VBA Round의 짝수 중간값과 Excel ROUND 차이는 본문에서 확인합니다.
작성에관스 컴활 1급 학습팀 발행2026년 10월 13일 수정2026년 10월 13일 주제Access 숫자 함수

핵심 포인트

이 글에서 먼저 챙길 것

  • Int(x)는 x보다 크지 않은 가장 큰 정수입니다. Int(-2.7)은 -3입니다.
  • Fix(x)는 소수 부분을 제거해 0 쪽으로 갑니다. Fix(-2.7)은 -2입니다.
  • 음수라도 이미 정수인 -2에서는 Int와 Fix가 모두 -2입니다.
  • Round의 두 번째 인수는 유지할 소수 자릿수이며 생략하면 정수로 반올림합니다.
  • Access/VBA Round의 정확한 중간값은 짝수 쪽으로 갑니다. Excel 워크시트 ROUND와 구분하세요.

본문

컴활 1급 공부 기준을 더 구체적으로 보기

세 함수는 반환값의 방향부터 나누세요

정수만 필요하다는 지시문이라도 방법은 서로 다릅니다. Int는 수직선에서 원래 값보다 오른쪽으로 가지 않는 가장 가까운 정수, Fix는 소수 부분을 없앤 정수, Round는 지정한 자리에서 가까운 값으로 반올림합니다. 함수 이름보다 지시문의 방향을 먼저 확인하세요.

여기서 '정수'는 결과의 숫자값을 설명하는 말입니다. 세 함수의 반환 자료형을 모두 VBA Integer로 단정하는 뜻은 아닙니다. 문제에서 반환값과 데이터 형식을 각각 묻는다면 서로 다른 질문으로 보아야 합니다.

Int(-2.7)이 -3인 이유: 더 작은 쪽은 왼쪽입니다

-2.7은 -3과 -2 사이에 있습니다. 이 중 -2는 원래 값보다 크고, -3은 원래 값보다 작습니다. Int는 원래 값 이하의 가장 큰 정수를 고르므로 -3입니다. 마이너스 뒤의 숫자 2만 남기는 방식으로 계산하지 마세요.

같은 기준으로 Int(2.7)은 2입니다. 양수에서는 소수 부분을 지우는 것처럼 보여도, 정의는 아래 방향 정수화입니다. 음수 예제 하나를 같이 적어야 '소수점 버림이면 항상 글자만 지운다'는 오해를 피할 수 있습니다.

Fix(-2.7)이 -2인 이유: 0을 향해 갑니다

Fix는 소수 부분을 제거합니다. Fix(2.7)은 2, Fix(-2.7)은 -2입니다. 양수는 왼쪽으로, 음수는 오른쪽으로 이동하는 것처럼 보이지만 두 경우 모두 0에 가까워지는 방향입니다.

따라서 '음수의 소수 부분을 없애 -2.7을 -2로 만든다'는 지시라면 Fix를 검토합니다. '원래 값 이하의 정수'라는 조건이면 Int입니다. 결과를 정한 뒤에는 결과가 원래 값보다 작은지, 0에 가까운지 다시 대조하세요.

-0.7과 -2로 예외를 확인하세요

입력이 -0.7이면 Int(-0.7)은 -1, Fix(-0.7)은 0입니다. 0도 올바른 결과가 될 수 있으므로 입력이 음수라는 이유만으로 결과까지 반드시 음수라고 생각하지 마세요.

입력이 이미 정수인 -2라면 Int(-2)와 Fix(-2)는 모두 -2입니다. 둘이 다른 것은 소수 부분이 있는 음수의 경우입니다. 'Int는 무조건 원래 값보다 작다', '음수에서는 두 함수가 항상 다르다'라는 선지는 -2로 바로 점검할 수 있습니다.

양수·음수 결과를 같은 순서로 비교하세요

입력 2.7: Int=2, Fix=2, Round(값,0)=3. 입력 -2.7: Int=-3, Fix=-2, Round(값,0)=-3. 이 두 줄만으로 정수화 두 방식과 반올림을 비교할 수 있습니다.

입력 -2.2: Int=-3, Fix=-2, Round(값,0)=-2. Round가 Int와 같은 경우도, Fix와 같은 경우도 있습니다. 한 예제의 우연한 일치로 함수가 같다고 결론 내리지 마세요. -2.7과 -2.2를 함께 보아야 각 함수의 규칙이 드러납니다.

Round의 자릿수는 남길 소수 자릿수입니다

Round(2.75,1)은 소수 첫째 자리까지 남겨 2.8을 반환하고, Round(2.75,0)은 정수로 반올림해 3을 반환합니다. 두 번째 인수 1을 '첫째 자리 숫자를 보고 모두 버린다'는 뜻으로 읽지 마세요.

Round(2.75)처럼 두 번째 인수를 생략해도 정수로 반올림합니다. 2.8이라는 숫자와 화면에 표시된 2.80은 다른 문제입니다. 뒤의 0을 반드시 표시하는지까지 결정하려면 숫자 반환값과 표시 형식을 나누어 확인해야 합니다.

Access/VBA Round는 정확한 중간값을 짝수로 처리합니다

정수로 반올림하는 Round(2.5,0)은 2, Round(3.5,0)은 4입니다. 두 값 모두 인접한 정수의 정확한 중간에 있으므로 남는 일의 자리 숫자가 짝수인 쪽을 선택합니다. 이 규칙을 은행가 반올림 또는 짝수 반올림이라고 부릅니다.

음수도 Round(-2.5,0)은 -2, Round(-3.5,0)은 -4입니다. '소수 첫째 자리가 5면 무조건 0에서 멀어지게 올린다'는 계산과 다릅니다. 다만 짝수 규칙은 정확한 중간값에서 쓰는 것이지 모든 결과를 짝수로 만든다는 뜻은 아닙니다.

입력과 계산 과정의 숫자 표현까지 달라지면 소수 경계값을 직접 확인해야 할 수 있습니다. 이 글의 중간값 연습은 2.5·3.5처럼 뜻이 명확한 값으로 제한합니다. 임의의 소수 계산 결과에 대해 화면의 마지막 글자만 보고 중간값이라고 단정하지 마세요.

Excel ROUND와 VBA Round는 이름이 비슷해도 다릅니다

Excel 워크시트의 =ROUND(2.5,0)은 3이지만 Access/VBA의 Round(2.5,0)은 2입니다. Excel VBA에서 WorksheetFunction.Round를 호출하는 경우도 VBA 기본 Round와 구분해야 합니다.

보기에서 먼저 실행 환경을 확인하세요. Excel 셀 수식인지, Access 쿼리의 식인지, VBA 기본 함수인지가 다르면 같은 이름만 보고 결과를 옮겨 쓰지 않습니다. Excel ROUND의 음수 자릿수 규칙도 Access/VBA에 그대로 적용한다고 가정하지 마세요.

Format은 숫자 계산과 다른 역할입니다

Round는 반올림한 숫자를 반환하고, Format은 형식에 맞게 만든 문자열을 반환합니다. 같은 숫자가 화면에 비슷하게 보이더라도 다음 계산에 사용할 값인지, 보고서에 보여 줄 글자인지부터 확인해야 합니다.

또한 Format 함수와 컨트롤의 서식 속성도 구분합니다. 화면 표시만 바꿨다고 저장된 숫자가 바뀌었다고 볼 수 없습니다. 날짜·숫자 형식 문자의 상세 규칙은 기존 Format 가이드에서 이어서 확인하고, 여기서는 숫자 함수의 반환값에 집중하세요.

쿼리와 텍스트 상자에서는 식의 위치도 확인하세요

Access 쿼리 디자인의 계산 필드 예시는 정수금액: Fix([금액])입니다. 필드 금액을 읽어 Fix 결과를 정수금액이라는 새 열로 보여 줍니다. 같은 필드에 Int를 적용할 때는 음수 레코드의 결과가 달라질 수 있습니다.

폼·보고서 텍스트 상자의 컨트롤 원본에 계산식을 넣는 예시는 =Round([금액],0)입니다. 쿼리의 열 별칭과 컨트롤 원본의 시작 기호를 그대로 섞지 마세요. 두 식 모두 결과를 계산하는 예시이며 원본 필드를 자동으로 덮어쓰는 지시가 아닙니다.

보기 제거는 부호·소수 부분·함수 순서로 끝내세요

1단계는 값의 부호와 소수 부분을 확인하는 것입니다. 2단계는 정수화인지 반올림인지 나누는 것입니다. 3단계는 Int의 아래 방향과 Fix의 0 방향, Round의 자릿수와 정확한 중간값 여부를 대조하는 것입니다.

숫자 대신 Null이 들어 있는 경우도 따로 보세요. 공식 문서에서 Int(Null)과 Fix(Null)은 Null을 반환하므로 0으로 간주하면 안 됩니다. 필요한 대체값을 정하는 문제는 Nz·IsNull·IIf 가이드의 범위입니다. 값을 보지 않고 일괄적으로 0으로 바꾸는 풀이를 외우지 마세요.

직접 만든 연습문제 7개

아래는 실제 기출이 아닌 자체 연습입니다. 숫자 결과를 먼저 적고, '아래 방향', '0 방향', '짝수 중간값' 중 이유도 하나씩 적어 보세요. 답은 다음 섹션에 따로 두었습니다.

1. Int(-2.7)과 Fix(-2.7)의 결과를 순서대로 쓰세요.

2. Int(2.7)과 Fix(2.7)의 결과를 순서대로 쓰세요. 둘이 같다고 두 함수가 같은 함수라고 말할 수 있을까요?

3. Int(-0.7)과 Fix(-0.7)은 각각 얼마인가요?

4. Int(-2)와 Fix(-2)는 각각 얼마인가요? 음수에서는 언제나 다른 결과인가요?

5. Access/VBA의 Round(2.5,0)과 Round(3.5,0)을 순서대로 쓰세요.

6. Access/VBA의 Round(-2.5,0)과 Excel 셀의 =ROUND(-2.5,0)은 각각 얼마인가요?

7. Access 쿼리 계산 필드의 별칭이 정수금액이고, [금액]=-4.8의 소수 부분을 없애 -4를 보여 주어야 합니다. Int·Fix·Round 중 어느 함수를 쓰며 식은 어떻게 적나요?

정답·해설: 숫자만 맞히지 말고 방향을 말하세요

1번은 -3, -2입니다. Int는 -2.7 이하, Fix는 0 쪽을 고릅니다. 2번은 2, 2입니다. 양수에서 결과가 같다는 사실만으로 음수 결과까지 같다고 일반화할 수 없습니다.

3번은 -1, 0입니다. 작은 음수에서 두 방향이 더 선명합니다. 4번은 -2, -2입니다. 원래 값이 정수라면 소수 부분이 없어 둘 다 그대로 반환합니다.

5번은 2, 4입니다. 정확한 중간값을 인접한 짝수 정수로 처리합니다. 6번은 -2, -3입니다. Access/VBA 기본 Round의 짝수 반올림과 Excel 워크시트 ROUND의 규칙이 다릅니다.

7번은 Fix이며 정수금액: Fix([금액])으로 적습니다. Int(-4.8)은 -5이고 Round(-4.8,0)도 -5이므로 지시한 -4와 다릅니다. 같은 보기라도 다른 입력에서 결과가 바뀌는 이유까지 설명해 보세요.

시험 직전 다섯 줄 요약과 참고 자료

1. 반올: Round는 지정 자리 반올림이며 Access/VBA의 정확한 중간값은 짝수 쪽입니다. 2. 작정: Int는 원래 값 이하의 가장 큰 정수입니다. 3. 영절: Fix는 소수 부분을 없애 0 쪽으로 갑니다.

4. -2.7이면 Int=-3, Fix=-2이며 이미 정수인 -2에서는 같습니다. 5. Access/VBA Round와 Excel ROUND, 숫자 반환과 Format 문자열 반환을 구분합니다. 틀린 예제의 함수 이름을 가린 뒤 결과와 방향을 다시 말하고 DB 심화 단원에서 관련 개념을 복습하세요.

Int·Fix와 Round의 기본 동작은 Microsoft Learn 및 Access 지원 문서, 정확한 중간값의 짝수 규칙은 Microsoft VBA 언어 명세에서 확인했습니다. Excel ROUND·Format 및 식 입력 위치는 Microsoft 지원 자료로 대조했습니다. 예제는 직접 작성한 학습용이며 실제 Access 실행, 기출 또는 출제 빈도 검증을 주장하지 않습니다.

FAQ

자주 묻는 질문

컴활 1급 Int와 Fix는 음수에서 어떻게 다른가요?

소수 부분이 있는 음수에서 Int는 원래 값 이하의 정수, Fix는 0 방향의 정수를 반환합니다. -2.7이면 각각 -3과 -2입니다. 이미 정수인 -2에서는 둘 다 -2이므로 음수라서 항상 다른 것은 아닙니다.

Access Round(2.5,0)은 왜 3이 아니라 2인가요?

Access/VBA 기본 Round는 정확한 중간값에서 남기는 마지막 숫자가 짝수인 쪽을 선택합니다. 2.5는 2, 3.5는 4입니다. Excel 워크시트 ROUND와 같은 반올림 규칙이라고 가정하지 마세요.

Fix(-0.7)의 결과가 0이어도 맞나요?

맞습니다. Fix는 소수 부분을 제거해 0 방향으로 가므로 -0.7은 0입니다. Int(-0.7)은 원래 값 이하의 정수인 -1입니다. 부호만 보지 말고 두 함수의 이동 방향을 확인하세요.

Round와 Format을 바꿔 써도 되나요?

반환값의 역할이 다릅니다. Round는 반올림한 숫자, Format은 지정 형식의 문자열을 반환합니다. 숫자 계산이 필요한지 화면 표시가 필요한지부터 확인하고, 화면이 비슷하다는 이유만으로 교체하지 마세요.

무료 학습 도구

시간과 점수 감각을 바로 확인하세요

모의고사 전에는 시간 배분을, 채점 후에는 예상 점수를 확인하세요.