안녕하세요
수고 많습니다.
delphi 4.0 and ms-sql7.0을 사용하고 있습니다.
모든 부분에서 작업이 잘되고 있습니다.
그런데 문제는 money 부분에서 소수점 이하 부분 작업이 잘 되지가 않아서
이렇게 질문을 드립니다.
회사에서 원하는 데이타 형태는 1234.4567 소수점 4자리을 원합니다.
간단하게 Matr_Dan =1234.4567;이렇게 입력을 했지요
그런데 데이타베이스나 프로그램에서 입력된 데이타을 확인을 하면 이렇게 보입니다.
matr_dan=1234.46
여러 data type을 change을 하고 여러방법(contorl panel 나라별 숫자, 통화 변경)을 시도 했지만...
안되네요
그래서 sql server profiler을 이용하여 데이타을 추적을 했습니다.
아래 내용은 추적한 데이타 내용입니다..
그런데 이해가 안되는것은 Matr_qty,Dan,amt =Convert(money,'0.20')
왜 이렇게 되는지 이해가 되지가 않네요.
프로그램 소스에는 matr_qty:=22;
matr_dan:=0.008;
matr_amt:=0.016;
이렇게 프로그램화 되어 있는데 말 입니다.
왜 이렇게 되는지 설명을 부탁 드립니다.
소수점 4자리을 입력 할 수있는 방법이 없는지요
그럼
수고 하세요
*****************************************************
Update Forder_Bal set MATR_COLOR ='CZ/BLACK' ,
MATR_QTY =convert(money,'22.00') ,
MATR_DAN =convert(money,'0.01') ,
MATR_AMT =convert(money,'0.20'),
MAtr_Size ='1.6 * 10 * 5&6',
in_Date ='2005/03/23',
MATR_NOTE ='',
INFO_DATE ='2005/03/31',
INFO_NAME ='Candy',
INFO_ID ='Administrator',
INFO_IP ='192.168.0.103',
INFO_WORK ='Update',
MATR_ITPRICE =convert(money,'0.01'),
RECE_QTY =convert(money,'22.00'),
MATR_SHIP ='HK',
CONT_TYPE ='1',
COMP_CONT ='1'
where bill_no ='.PEWTER 1050323-18' and Seq ='002'
****************************************************
달러 계산할때 몇달러 몇센트만 있지 0.1센트 단위는 없습니다.
고로 1.99는 입력 되지만 1.991은 입력 안됩니다.
테이블 깡통까지 올려주시면 확실할텐데 아마도 제 말이 맞을것 같습니다.
넘버 필드로 바꿔서 사용하시면 해결될겁니다.
항상 답변 쓰면서 느끼는건데, 이거 쓰다 틀리면 뭔 개쪽이냐? 라는 생각이 듬...