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

FireBird Q&A
[2229] Re:Re:[질문] 파이어버드가 계산을 이상하게 합니다.
초보자 [] 1484 읽음    2006-11-13 16:07
안영제님, 답변 고맙습니다.
우선 급한대로 님의 조언대로 땜질을 하겠습니다.

근데, 이 에러는 두고두고 걸리네요... ^^
파이어버드가 뭔가 문제가 있는 듯한데...
이 버그를 파이어버드에 올려서 개선해 주기를 대신 부탁드립니다.

고맙습니다.



civilian,안영제 님이 쓰신 글 :
: 편법입니다만, 트리거를
:
: AS
:   declare variable AQty Decimal(12,3);
:   declare variable AUnit Decimal(12,3);
:   declare variable AAmount Decimal(12,3);
: begin
:   AQty  = New.qty;
:   AUnit = New.Unit_price;
:   AAmount = AQty * AUnit;
:
:   New.amount= AAmount;
: end
:
: 이렇게 고쳐서 써보세요.
: 원인은 잘 모르겠습니다만, 이렇게 고쳐서 쓰니 잘 되는군요.
:
:
: 초보자 님이 쓰신 글 :
: : 이런 필드가  있습니다.
: :
: : Qty [Double Precision]
: : Unit_Price [Double Precision]
: : Amount [Double Precision]
: :
: : Before Insert/Before Update 의 트리거에서
: :
: : new.amount = new.qty * new.unit_price;
: :
: : 이렇게 넣어줬습니다.
: :
: : 업체에서 계산이 맞지 않는다는 연락을 받고 확인해봤는데...
: : 파이어버드가 계산을 이상하게 하더군요.
: :
: : 다음은 파이어버드가 계산한 값입니다.
: :
: : qty            unit_price   amount
: : --------  ---------- --------------
: : 10,327.56           4,700     48,539,529.98
: :
: : 윈도의 계산기와 델파이에서의 계산 결과는 48,539,532 로 나오는데요
: :
: : 파이어버드와 계산 값이 무려 2원 정도 차이가 납니다.
: : 이걸 어떻게 해야할지 막막하네요.
: :
: : 이 글을 보시는 분들도 저런 필드를 만들고 값을 넣어서 테스트 해보시면
: : 아마 황당한 결과를 보실겁니다.
: :
: : 좀 도와주세요. 흑흑...
: :
: : 앗, 참고로 파이어버드 버젼은 2.0 rc5로 최신의 상태입니다.

+ -

관련 글 리스트
2225 [질문] 파이어버드가 계산을 이상하게 합니다. 초보자 1612 2006/11/13
2228     Re:[질문] 파이어버드가 계산을 이상하게 합니다. civilian,안영제 1513 2006/11/13
2229         Re:Re:[질문] 파이어버드가 계산을 이상하게 합니다. 초보자 1484 2006/11/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.