例如: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'))"
效果: