Q&A

  • 10.200을 입력하면 10.199가 저장....
table을 사용한 dbgrid에서 단가를 입력하려고 했습니다.



단 , 단가 필드는 numeric(10,3)인데 10.200을 입력하면 10.199가



db에 저장됩니다. 이상한 점은 sql로 바로 update하면 제대로 입력



됩니다. db는 mssql server 7.0을 사용하는데 무엇이 문제일까요?



정말 모르겠습니다. 아시는 분은 부디.....



부탁합니다

1  COMMENTS
  • Profile
    안성용 1999.12.02 03:52
    Data Type의 문제입니다.

    저도 MS-SQL 6.5 에서 동일한 문제로 고민을 많이 했습니다.



    결론은 DB의 Data Type을 Numeric에서 Float로 변경하시면 됩니다.



    계산시에는 DB의 값을 String으로 전환 -> Float로 변환한 후 계산하고

    그 결과값을 다시 String으로 변한하여 DB에 입력 하여야 합니다.

    Float로 받아들여 계산한 값을 그대로 입력하면 값이 달라질 수 있습니다.



    정확한 원인은 모르겠으나 차선책으로 생각하시면 되겠습니다.



    아울러 다른 방법을 알게 되시면 알려 주시기 바랍니다.



    andy wrote:

    > table을 사용한 dbgrid에서 단가를 입력하려고 했습니다.

    > 단 , 단가 필드는 numeric(10,3)인데 10.200을 입력하면 10.199가

    > db에 저장됩니다. 이상한 점은 sql로 바로 update하면 제대로 입력

    > 됩니다. db는 mssql server 7.0을 사용하는데 무엇이 문제일까요?

    > 정말 모르겠습니다. 아시는 분은 부디.....

    > 부탁합니다