带小数的数据在Grid表中显示时,如何不显示小数部分用来补位的0?

表格中的列的数据字段定义是shw_qty f(13,6)
小数字最长为6位
想要在表格中显示数据时候有几位小数就显示几位,不要用0来被充
显示结果要如下

0.000100--->0.0001
2.890000--->2.89
0.000000--->0
1.456231--->1.456231
2.890000--->2.89
0.000000--->0
1.456231--->1.456231

---------------------------------------------------------------
VFP9:

设置表格列的ControlSource属性为:
[ALLTRIM(ALLTRIM(ALLTRIM(STR(字段名, 13, 6), 1, "0"), 1, "."))]

VFP9以下:

定义一个自定义函数,比如新建一个.prg文件(比如:changeShow.prg),写入以下代码:
PROCEDURE conversion
LPARAMETERS nDecimal
LOCAL lcString
lcString = ALLTRIM(STR(nDecimal, 13, 6))
lcString = STRTRAN(lcString, "0", " ")
lcString = TRIM(lcString)
lcString = STRTRAN(lcString, " ", "0")
IF RIGHT(lcString, 1) == "."
lcString = LEFT(lcString, LEN(lcString) - 1)
ENDIF
RETURN lcString
ENDPROC
然后可以在表单的INIT事件中: SET PROCEDURE TO changeShow.prg
最后设置表格列的ControlSource属性为:[conversion(字段名)]

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus