| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10986 人关注过本帖, 1 人收藏
标题:STR()函数的用法
只看楼主 加入收藏
seekyou3
Rank: 1
等 级:新手上路
帖 子:24
专家分:3
注 册:2011-5-7
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:4 
STR()函数的用法
? STR (1234.5678,5,2)               请问这些值都是怎么得出来的
屏幕显示:
1235
? STR (1234.5678,7,1)                  谢谢了。
屏幕显示:
1234.6
? STR (1234.5678,10,4)
屏幕显示:
1234.5678
搜索更多相关主题的帖子: 函数 
2011-05-30 08:52
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:5 
                      4舍5入
? STR (1234.5678,5,2) &&宽度为5(小数点算一位),小数要两位,              
屏幕显示:
1235                  &&显示5位数是"1234.",其中没有小数,所以屏显1235,字符串是"1235 ",5后面有一个空格.
? STR (1234.5678,7,1)                  
屏幕显示:
1234.6                 &&宽度为7是"1234.56",只要1位小数,所以屏显1234.6
? STR (1234.5678,10,4)
屏幕显示:
1234.5678


[ 本帖最后由 muyubo 于 2011-5-30 16:58 编辑 ]
2011-05-30 10:06
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:5 
第一个示例是因为总长度为5位,而有效整数就有4位,前面还需要留一位正负符号位,小数点和后面的小数部分根本无法显示出来,VFP系统便自动四舍五入处理,得到整数1235.

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2011-05-30 20:00
wendao6dh
Rank: 2
来 自:天津
等 级:论坛游民
帖 子:31
专家分:74
注 册:2011-5-6
收藏
得分:10 
STR(<数值表达式>[,<总长度>[,<其中小数位数>]])函数作用是将数值表达式转换为指定长度和小数位数字符串,其中总长度的默认值是10,小数位数的默认值为0

并且在实际操作中,总长度要大于或等于数值表达式的整数部分的长度,才能完成命令。

1.如果总长度大于值表达式长度 大于 数值表达式整数部分和指定小数部分的长度总和,若此时数值的小数位少于指定的小数位数,那么要将它补齐,添加“0”到最低位即最右边;如果数值的小数位等于指定的小数位数,那么多余的字节应该放到最高位即最左边,为空格

2.如果总长度小于数值表达式长度,特别注意在转换取值的时候,是从左往右算起的,而且遵循四舍五入的原则,也就是说,假如指定的小数位数比从左往右取完整数后剩下的位数要多,实际保留的小数只能占总长度减去整数部分后的长度,如果超出了就四舍五入到剩下的位数。
其中小数点算一位。
如果最后一位数是小数点“.”的话,那么应该舍去小数点,把多出的那一个字节放在最高位(即最左边),即此时最高位为空格
因此二楼所说:
“? STR (1234.5678,5,2)  屏幕显示:1235
 &&显示5位数是"1234.",其中没有小数,所以屏显1235,字符串是"1235 ",5后面有一个空格."应该是不对的,空格应该在‘1’前面
你可以做:
? STR (1234.5678,5,2)
? STR (1234.5678,9,4)
将它们的位数对比一下~可以很容易看出来~

此外:
? STR (1234.5678,7,1)   &&总长度为7,要1位小数
屏幕显示:
1234.6   &&从左往右到"1234."已经是5位,而总长度是7,发现能够取到一位小数,因此四舍五入到一位小数“1234.6”,此时只占了6个字节,多余的那一位字节同样放到最高位,即“1”前有一个空格

? STR (1234.5678,10,4)
屏幕显示:
1234.5678   &&同理,“1”前面有一个空格




我相信满树的花朵只源于冰雪下的一颗种子。
2011-06-01 10:04
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:0 
对,学习.
2011-06-01 11:02
快速回复:STR()函数的用法
数据加载中...
 
   



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

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