数据类型问题

toball 2004-12-20 10:57:41
看看我的代码,为什么余额那个字段返回的值会把0截掉,余额的数据类型为数字15位,两位小数
序号 柜员号 币种 余额

1 0010 01 4145

而余额的实际值为414500.00

代码如下:
m_MSFGrid.SetCols(4);
m_MSFGrid.SetRows(1);
//m_MSFGrid.SetColAlignment(3,0);
m_MSFGrid.SetTextMatrix(0,0,"序号");
m_MSFGrid.SetTextMatrix(0,1,"柜员号");
m_MSFGrid.SetTextMatrix(0,2,"币种");
m_MSFGrid.SetTextMatrix(0,3,"余额");

m_MSFGrid.SetColWidth(0,8*120);
m_MSFGrid.SetColWidth(1,10*120);
m_MSFGrid.SetColWidth(2,10*120);
m_MSFGrid.SetColWidth(3,15*120);

if(m_pRecordset == NULL)
{
return;
}

try
{
m_pRecordset->MoveFirst();
}
catch(_com_error e)
{
AfxMessageBox(_T("没有满足条件记录"));
return;
}
m_MSFGrid.SetCols(4);
int iCount=0;
while(!m_pRecordset->adoEOF)
{
m_pRecordset->MoveNext();
iCount++;
}

m_pRecordset->MoveFirst();
m_MSFGrid.SetRows(iCount +1);

_variant_t vTRTL,vCYTP,vACBL;
int iRow = 1;
while(!m_pRecordset->adoEOF)
{
CString str;

str.Format("%d",iRow);
m_MSFGrid.SetRow(iRow);m_MSFGrid.SetCol(0);
m_MSFGrid.SetText(str);

m_MSFGrid.SetRow(iRow);m_MSFGrid.SetCol(1);
vTRTL = m_pRecordset->GetCollect("TRTL");
m_MSFGrid.SetText((_bstr_t)vTRTL);

m_MSFGrid.SetRow(iRow);m_MSFGrid.SetCol(2);
vCYTP = m_pRecordset->GetCollect("CYTP");
m_MSFGrid.SetText((_bstr_t)vCYTP);

m_MSFGrid.SetRow(iRow);m_MSFGrid.SetCol(3);
vACBL = m_pRecordset->GetCollect("ACBL");
m_MSFGrid.SetText((_bstr_t)vACBL);

iRow++;
m_pRecordset->MoveNext();

}
m_MSFGrid.SetRow(1);
m_MSFGrid.SetCol(1);
...全文
68 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
toball 2004-12-20
  • 打赏
  • 举报
回复
余额的数据类型为decimal(15位,两位小数)
toball 2004-12-20
  • 打赏
  • 举报
回复
都不管用,有0的都被截掉了
T97102003 2004-12-20
  • 打赏
  • 举报
回复
用CString 格式化再显示
hongtog 2004-12-20
  • 打赏
  • 举报
回复
试试_variant_t vACBL(0.00);

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧