保存的代码我是这么写的if SaveDlg.Execute then sName:=SaveDlg.FileName;
if sName<>'' then ExportGridToExcel(sName,cxGrid1,true,true,true);cxgrid显示3.72,但导出excel后却变成3.7188。请问有人知道为什么么??

解决方案 »

  1.   

    试试从SQL语句着手,即CONVERT转一转
      

  2.   

    可從SQL語句著手用convert處理,如:
     select BM as '部門',YS as '年份',
            CAST(CONVERT(numeric(18,2),M1) as varchar(100))+'%' as M1,CAST(CONVERT(numeric(18,2),M2) as varchar(100))+'%' as M2,
            CAST(CONVERT(numeric(18,2),M3) as varchar(100))+'%' as M3,CAST(CONVERT(numeric(18,2),M4) as varchar(100))+'%' as M4,
            CAST(CONVERT(numeric(18,2),M5) as varchar(100))+'%' as M5,CAST(CONVERT(numeric(18,2),M6) as varchar(100))+'%' as M6,
            CAST(CONVERT(numeric(18,2),M7) as varchar(100))+'%' as M7,CAST(CONVERT(numeric(18,2),M8) as varchar(100))+'%' as M8,
            CAST(CONVERT(numeric(18,2),M9) as varchar(100))+'%' as M9,CAST(CONVERT(numeric(18,2),M10) as varchar(100))+'%' as M10,
            CAST(CONVERT(numeric(18,2),M11) as varchar(100))+'%' as M11,CAST(CONVERT(numeric(18,2),M12) as varchar(100))+'%' as M12 from HR_MH_LEAV
            where BM NOT in (select NOTBM from RES_QJ_RULE where NOTBM IS NOT NULL )
      

  3.   


    非常感谢kye_jufei的热心回复,不过CAST(CONVERT(numeric(18,2),M1) as varchar(100))+'%' as M1 这样的语句在我这边不能执行,提示 Illegal character in input file: '%' ($25)
      

  4.   

    如果以上語句寫在delphi程序語句中,單引號'%'要修改為''%''雙引號才行
      

  5.   

    我用的是ACCESS数据库,好像不行,提示表达式'CONVERT' 函数未定义???
      

  6.   

    哈,我知道怎么做了,用formartFixed 格式为带两位小数的数字
    format$("100123","Fixed") 返回值 100123.00多谢以上两位的热心帮助