当前位置: 代码迷 >> VFP >> grid列展示小数位最后为0不要显示出来
  详细解决方案

grid列展示小数位最后为0不要显示出来

热度:3779   发布时间:2013-02-26 00:00:00.0
grid列显示小数位最后为0不要显示出来
例如:vfp grid第2列的2.030100显示为2.0301, 0.1020030显示为0.102003,请问如何处理?

------解决方案--------------------------------------------------------
* 函数名称:SCD0
* 函数功能:删除数值型数据中,小数点后尾随的0,适用VFP的任何版本
* 调用方法:SCD0(0.100900)
FUNCTION SCD0
PARAMETERS NUM
IF PCOUNT()=0
   RETURN
ENDIF
CSTR=TRANSFORM(NUM)
FOR i=1 TO LEN(JUSTEXT(CSTR))
    CSTR=IIF(RIGHT(CSTR,1)=[0],SUBSTR(CSTR,1,LEN(CSTR)-1),CSTR)
ENDFOR
RETURN CSTR

将上面的代码添加到表单的自定义方法中,然后再调用
------解决方案--------------------------------------------------------
vfp6.0,在 Grid 的 Init 事件加代码:
This.Columns(3).ControlSource="Transform(nNum2)"
效果:


vfp9.0,在 Grid 的 Init 事件加代码:
This.Columns(3).ControlSource=[Alltrim(Alltrim(Alltrim(Str(nNum2,16,7),1,"0"),1,"."))]
*或
*This.Columns(3).ControlSource="Iif(Int(nNum2)=nNum2,Transform(nNum2),Rtrim(Transform(nNum2),'0'))"
效果:
  相关解决方案