回 帖 发 新 帖 刷新版面

主题:表格显示如何去掉小数点后面多余的 0

如 1.000 只显示 1
   0.250 只显示 0.25

回复列表 (共16个回复)

沙发

?
?
a=0.250
?a
b=STR(a,12,3)
c=' '
DO WHILE .t.
   c=RIGHT(b,1)
   IF c="."
      b=SUBSTR(b,1,(LEN(b)-1))
   ENDIF
   IF c<>"0" 
       EXIT
   ENDIF
   b=SUBSTR(b,1,(LEN(b)-1))
ENDDO
?b

板凳

? ALLTRIM(TRIM(STR(10.000000,16,6),1,"0"," "),1,"."," ")

3 楼

如若要数字型的:

nval=0.01000
IF nVal%1=0
    ?INT(nVal)
ELSE
    nVal=TRIM(TRANSFORM(nVal),1,"0")
    SET DECIMALS TO LEN(nVal)-AT(".",nVal)
    ?VAL(nVal)
ENDIF

4 楼

2 楼  cbl518老师只一句话,妙!我也写了一句,如下:但两句都有一问题:表格中的单元格变成只读了,怎么也输不了数据,弄了半天没搞好,还望指教!!


    .COLUMN2.ControlSource="EVALUATE(strt(trim(strt(strt(trim(strt(allt(str(jlian,18,8)),'0',' ')),' ','0'),'.',' ')),' ','.'))"

5 楼

你使用:
Column2.DynamicInputMask
属性!

6 楼

祝楼主春节快乐。

4楼的语句,你定义列的数据源不是一个字段,只是一个函数的运算结果,自然只能显示,无法修改。

在数的自变量中,可能不单独是一个字段的内容。因此,所有的编程语言在系统设计时,对于源为运算结果只能显示。

你可以把它放到valid方法中约束录入的数据。

7 楼

祝各位老师春节快乐!!

5楼 cbl518 老师的方法好像不行,也许是我不会用,还请指教!

0901chang老师:我并不想约束录入的数据,我只想能录入数字和小数点,离开单元格后又不想显示小数点后面多余的 0

解决不了的话只能用字符的了

8 楼

[quote]5楼 cbl518 老师的方法好像不行,也许是我不会用,还请指教![/quote]

是要这样的结果吗?(第一列是数据型的字段,原数据是两位小数,去掉尾部的 0 ,结果如下)

[img]http://p13.freep.cn/p.aspx?u=v20_p13_p_0901281921186878_0.bmp[/img]

9 楼

cbl518兄,祝新年快乐


10 楼

8楼 cbl518 老师您好,要的就是这个效果!!但问题是您的第一列(数据型的字段)单元格中能不能录入数字?
[img]http://blog.pfan.cn/upfile/200901/2009013118584.jpg[/img]

我来回复

您尚未登录,请登录后再回复。点此登录或注册