김민철 2월 8일에 포스트됨 공유하기 2월 8일에 포스트됨 안녕하세요 DBGrid 특정필드의 소수점 자리수를 5자리로 막아서 사용자 입력시 5자리이상 입력을 못하게 하려고합니다. Dbgrid내 프로퍼티로 처리할 수 있는 부분이 없어 연결된 ClientDatasetField의 editformat= 0.00000 displayformat = ,0.00000 으로 설정하였지만 사용자가 입력시에는 자릿수가 무한정입력됩니다. 입력후 포커스가 이동하면 자동 반올림되어 5자리까지만 표기되기는 하나, 내부적으로 값은 그대로 가지고 있어서 계산시 문제가 발생하네요. 원천적으로 5자리까지만 입력을 제한하고 싶은데 방법이 있을런지요? 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 c2design 2월 8일에 포스트됨 공유하기 2월 8일에 포스트됨 실수 값이 소숫점 아랫 부분 까지 바뀌는것은 DB 그리드에서 바뀌는것이 아니라 데이터베이스에 저장 될때 실수값이 그런식으로 저장이 됩니다. 따라서 데이터 베이스 라운드 오차를 해결하기 위해서 보통은 원하는 포맷대로 DB에 string 으로 저장하고 계산할때 실수로 캐스팅한후 다시 문자로 저장 합니다. 델파이에서 AsFloat 와 AsString 으로 변환 하면 되니 간단 합니다. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
질문
김민철
안녕하세요 DBGrid 특정필드의 소수점 자리수를 5자리로 막아서 사용자 입력시 5자리이상 입력을 못하게 하려고합니다.
Dbgrid내 프로퍼티로 처리할 수 있는 부분이 없어 연결된 ClientDatasetField의 editformat= 0.00000 displayformat = ,0.00000
으로 설정하였지만 사용자가 입력시에는 자릿수가 무한정입력됩니다. 입력후 포커스가 이동하면 자동 반올림되어 5자리까지만 표기되기는 하나, 내부적으로 값은 그대로 가지고 있어서 계산시 문제가 발생하네요. 원천적으로 5자리까지만 입력을 제한하고 싶은데 방법이 있을런지요?
이 댓글 링크
다른 사이트에 공유하기
1 answer to this question
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.