| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2477 人关注过本帖
标题:有没有办法让vfp中数值转字符型时后边的零自动去掉
只看楼主 加入收藏
liyuezb
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-3-23
收藏
 问题点数:0 回复次数:5 
有没有办法让vfp中数值转字符型时后边的零自动去掉

比如说2.530转出来后是2.53

搜索更多相关主题的帖子: vfp 数值 字符 办法 自动 
2006-03-24 18:56
zengxingye
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2006-2-24
收藏
得分:0 
a=2.530
?LEFT(ALLTRIM(STR(a,10,5)),AT('0',ALLTRIM(STR(a,10,5)))-1)
得到结果:2.53
str()函数中的返回长度和小数位数根据自己的需要设定.
可能还有比这个更好的办法自己试试看.
2006-03-24 19:28
liyuezb
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-3-23
收藏
得分:0 
谢谢,at函数什么用?
2006-03-24 22:50
liyuezb
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-3-23
收藏
得分:0 
我想去掉小数点后边无用的零,比如说100后边的零是不能去掉的
2006-03-24 22:56
zengxingye
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2006-2-24
收藏
得分:0 

是的,你说得很有道理,100后的零都不能去的,要编个程序来完成:
建个xxx.prg程序:
代码如下:
PARAMETERS a
a=ALLTRIM(STR(a,20,5)) &&得到一个长20,5位小数的字符串
DO while RAT('0',a)=LEN(a) &&如果0在最后一位,执行循环
a=LEFT(a,LEN(a)-1) &&去掉后面的0
IF RAT('.',a)=LEN(a) &&如果最后一位是小数点了,就去掉小数点,退出循环
a=LEFT(a,LEN(a)-1)
EXIT
ENDIF
ENDDO
RETURN a
ENDFUNC

在命令窗口中执行:
a=2.5
?xxx(a) &&得到2.5

a=100
?xxx(a) &&得到100

a=100.03
?xxx(a) &&得到100.03

RAT()函数:返回一个字符表达式或备注字段在另一个字符表达式或备注字段内第一次出现的位置,从最右边的字符算起。
AT()函数:返回一个字符表达式或备注字段在另一个字符表达或备注字段中首次出现的位置,从最左边开始计数

2006-03-25 19:48
gonge
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-9-8
收藏
得分:0 
IIF(n数值=INT(n数值),TRANSFORM(INT(n数值)),RTRIM(TRANSFORM(n数值),"0"))
2013-11-15 07:51
快速回复:有没有办法让vfp中数值转字符型时后边的零自动去掉
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039436 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved