Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr
  • 0

Delphi DBGrid에서 소수점5자리 입력방지


김민철

질문

안녕하세요 DBGrid 특정필드의 소수점 자리수를 5자리로 막아서 사용자 입력시 5자리이상 입력을 못하게 하려고합니다.

Dbgrid내 프로퍼티로 처리할 수 있는 부분이 없어 연결된 ClientDatasetField의 editformat= 0.00000 displayformat = ,0.00000

으로 설정하였지만 사용자가 입력시에는 자릿수가 무한정입력됩니다. 입력후 포커스가 이동하면 자동 반올림되어 5자리까지만 표기되기는 하나, 내부적으로 값은 그대로 가지고 있어서 계산시 문제가 발생하네요. 원천적으로 5자리까지만 입력을 제한하고 싶은데 방법이 있을런지요?

 

 

이 댓글 링크
다른 사이트에 공유하기

1 answer to this question

Recommended Posts

  • 0

실수 값이 소숫점 아랫 부분 까지 바뀌는것은 DB 그리드에서 바뀌는것이 아니라 데이터베이스에 저장 될때 실수값이 그런식으로 저장이 됩니다.

따라서 데이터 베이스 라운드 오차를 해결하기 위해서 보통은 원하는 포맷대로 DB에 string 으로 저장하고 계산할때 실수로 캐스팅한후 다시 문자로 저장 합니다.

델파이에서 AsFloat 와  AsString 으로 변환 하면 되니 간단 합니다.

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 질문에 답변하기...

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.