| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9450 人关注过本帖, 1 人收藏
标题:关于数值型转换为字符型的问题
取消只看楼主 加入收藏
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
结帖率:88.24%
收藏(1)
 问题点数:0 回复次数:11 
关于数值型转换为字符型的问题
如ABC=123.456
STR(ABC)只会是123。
如需显示小数点,
STR(ABC,15,3)
但ABC的值不一定是3位小数呢?
如果ABC=123.4
STR(ABC,15,3)的话,是123.400
但我又不想要后面的2个0。
有什么办法可以直接转换为正确的字符呢?
123.456=“123.456”,123.4=“123.4”
搜索更多相关主题的帖子: 小数点 
2012-02-06 20:38
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
郁闷啊

[ 本帖最后由 sdta 于 2012-2-7 09:13 编辑 ]

坚守VFP最后的阵地
2012-02-06 23:10
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 3楼 sdta
已经3天了,还没有满意的结果。

坚守VFP最后的阵地
2012-02-09 22:49
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用TonyDeng在2012-2-10 00:22:48的发言:

哼~
你是神童,不在此列

坚守VFP最后的阵地
2012-02-10 01:20
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用软件服务在2012-2-7 18:10:35的发言:

xx=123
?STR(xx,15,5)  &&结果是 "       123.40000"
?LTRIM(RTRIM(STR(xx,15,5),"0"))  &&结果会是什么呢?
结果是:VFP6.0下,参数太多
    VFP9.0下,123


[ 本帖最后由 sdta 于 2012-2-10 01:31 编辑 ]

坚守VFP最后的阵地
2012-02-10 01:27
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用Tiger5392在2012-2-14 22:36:58的发言:

VFP 6.0 下:Transform(nExpress)
VFP6.0上通用,谢谢楼上的朋友,你是第二个给出标准答案的。前后8天时间

坚守VFP最后的阵地
2012-02-14 22:42
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用Tiger5392在2012-2-14 22:42:34的发言:

VFP 9.0 下,程序解决
n=123.40000
?ctransform(n)
RETURN
FUNCTION ctransform
LPARAMETERS nInput
LOCAL lcInput
lcInput=TRANSFORM(nInput)
DO WHILE '.'$lcInput AND RIGHT(lcInput,1)$'.0'
  lcInput=LEFT(lcInput,LEN(lcInput)-1)
ENDDO
RETURN lcInput
收藏了,谢谢朋友

坚守VFP最后的阵地
2012-02-14 22:52
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用qingfameng在2012-2-15 12:13:14的发言:

请楼主注意一点:19楼没用 transform,而采用的是递推法,目的是尽量容易阅读。他对 18 位内的任何小数,不管前后是否有零,都使用的。可再看看。
谢谢朋友提醒

坚守VFP最后的阵地
2012-02-15 12:17
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用sywzs在2012-2-15 14:52:17的发言:

xx=123.400
xx=123400

?ALLTRIM(TRIM(TRIM(STR(xx,18,5),"0"),"."))
XX=123.4000000000000
?ALLTRIM(TRANSFORM(XX),"0")

[ 本帖最后由 sdta 于 2012-2-15 15:23 编辑 ]

坚守VFP最后的阵地
2012-02-15 15:20
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用软件服务在2012-2-15 16:13:31的发言:

XX=1234000000000000
?ALLTRIM(TRANSFORM(XX),"0")
XX=1234000000000000
XX=123400000.0000000
改为:
?ALLTRIM(TRANSFORM(XX),".","")

坚守VFP最后的阵地
2012-02-15 21:08
快速回复:关于数值型转换为字符型的问题
数据加载中...
 
   



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

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