求助各位高人如何对货币数据在DBGrid列显示样式
我想查询后把数据显示在DBGrid中,但货币数据显示格式不正确,我这样写:
ADODataSet1->FieldByName("SalePrice")->AsString=FormatFloat("0.00",ADODataSet1->FieldByName("SalePrice")->AsFloat);
也不成。请问各位高人如何改进。
SalePrice在数据库中存储的类型是money.
[解决办法]
我想查询后把数据显示在DBGrid中,但货币数据显示格式不正确,我这样写:
ADODataSet1->FieldByName("SalePrice")>AsString=
FormatFloat("0.00",ADODataSet1>FieldByName("SalePrice")->AsFloat);
==================
如果要在DBGRID中显示出来的话,可以在ADODATASET1中的字段中,对该字段进行格式控制输出.
或者是在SQL语句内进行格式调整,如
select '$'+cast(round(price,2) as varchar(10)) as new_price from tb1 where id=XXX
[解决办法]
ADODataSet1->FieldByName("SalePrice")->AsString=FormatFloat("0.00",ADODataSet1->FieldByName("SalePrice")->AsFloat);
这样写法,没有意义.
(噢,就是把精度调整了一下,按我的想法,你在设计的时候,就应该考滤好精度问题,没必要现在在保存
的精度进行调整,容易丢失精确数据,不太可取,呵呵,我的想法)
[解决办法]
在ADODataSet1的SalePrice字段里面的DisplayFormat属性写入0.00