입력된 데이터를 계산하는 과정입니다.
입력배열변수인 IP변수에 저장된 데이터를 200이하일때는 매출액의 10%를 매출수당으로,300이하일땐 15%를 매출수당으로 400이하일땐 매출액의 18%를 매출수당으로 그 이상일땐 19%를 매출수당으로 주는데 제가 한 코딩에 다음과 같은 에러메시지가 나옵니다.
아무리 생각해도 어디가 문제인지 몰라서 이렇게 급한 마음에 질문을 던집니다.
[Error] Unit1.pas(140): Incompatible types: 'Integer' and 'Extended'
//월매출수당
m:=0; <-- m은 위에서 integer로 설정했음.
a:=StrToInt(IP[N,6]); <--a는 위에서 integer로 설정했음(스트링으으로 저장된 IP배열변수를
if a<=200 then 간단히 하기위해 a에 할당함
m:=int(a*0.1)
else <-- 이곳부터 에러표시 나옴
if a<=300 then
m:=int(a*0.15)
else
if a<=400 then
m:=int(a*0.18)
else
m:=int(a*0.19);
hsr////////////////////////////////////////////////////////////////
int함수는 Extended형이라 정수형 변수에는 맞지 않습니다.
헬프에서 보시면 Int(123.456)는 123.0 인 실수입니다.
따라서정수로 변환하시려면 Round나 Trunc등의 함수를 사용해 보세요