안녕하세요.
BCB6 + Firebird 2.1 로 프로젝트를 진행하고 있습니다.
경험부족으로 가격 필드를 float로 만들었다가 최근에 모두 Decimal(15,4) 타입으로 변경했습니다. -.-;;
제가 궁금한 것은 DBGrid에 표현할때 가격필드의 소수점 자리수를 사용자가 지정하도록 할 때 어떻게 해야 되는지입니다.
데이터셋에서 받아온 값을 다른 컨트롤에 디스플레이 할 때는 FloatToStrF(...)로 바꾸어서 하면 되는데..
DBGrid에 바로 나올 때에는 Select 문에서 지정을 해줘야 할 것 같아서요..
제가 나름대로 해보긴 했는데요..
SELECT
BARCODE "상품코드"
, ITEM_NAME "상품명"
, Substring(Cast(CNSM_PRICE as varchar(20)) from 1 for CHAR_LENGTH(cast(cnsm_price as varchar(20)))-2 as "판매가"
, ITEM_CODE
FROM ITEMS
소수점 둘째자리까지만 보여지도록 한 것입니다.
의도한대로 결과가 나오기는 하지만 이 방법이 효율적인건지 잘 모르겠네요. (특히 레코드수가 아주 많을 경우에..)
혹시 한 방에 간단하게 할 수 있는 방법이 없을까요?
|