Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[4680] [답변] HK4801/ [도와주세요] 델피언이 되고픈 청년이..
delphia [ ] 928 읽음    1998-09-26 22:58

당연한 결과입니다...
바로 정수형이라는 문제 때문에 그렇습니다...
질문 내용을 보니까 가산율은 퍼센트 단위로 입력하게 되어 있던데...
만약 퍼센트 단위라면 100을 넘을 수가 없겠지요...
그 부분을 다시 검사해 보세요...
AddPer라는 값은 100이 아닌 경우 무조건 0로 들어가게 됩니다...
정수형이기 때문이지요...
실수형으로 바꾸어서 하시면 됩니다...
또다른 방법 중의 하나로 다음과 같이 해 보세요...

procedure TForm1.butAmountClick(Sender: TObject);
var
  EX,UsedDay,Used,AddPer : Integer; // 단가,사용일수,사용량, 가산율
  Amount : LongInt;  // 사용금액
begin
  EX := StrToInt(dbeEX.Text); //단가
  UsedDay := StrToInt(dbeUsed_day.Text); //사용일수
  AddPer := StrToInt(dbeAdd_per.Text);
  Used := StrToInt(dbeUsed.Text);
//사용금액 = (단가 * 사용량 * 사용일수) + (단가 * 사용량 * 사용일수 * 가산율)
  Amount := ( EX * Used * UsedDay) + ( EX * Used * UsedDay * AddPer) div 100;
  dbeAmount.Text := IntToStr(Amount);
  Table1.Refresh; //테이블을 최신값으로 초기화
end;


+ -

관련 글 리스트
4680 [답변] HK4801/ [도와주세요] 델피언이 되고픈 청년이.. delphia 928 1998/09/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.