| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1382 人关注过本帖
标题:关于字符串比较问题
只看楼主 加入收藏
maosp
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-6-13
收藏
 问题点数:0 回复次数:5 
关于字符串比较问题

字符串比较大小的规则为:
字符串在比较时,按从左到右一个个字符比较ASCII码。若遇到不同,就返
回ASCII码大小比较的结果。如果直到一个字符串结束时都相等,则若另一个字符串也
结束,就表示相等,否则,未结束的字符串较大。

请看下面
"-"的ASCII值为45
"0"的ASCII值为48
在VF中:
? "-" < "0" 结果是 .T.
? "01-01"<"01001" 结果是 .F.

按ASCII码比较字符大小,应"01000">"01-01"

在VB中:
? "-" < "0" 结果是 True
? "01-01"<"01001" 结果是 True
结果正常

是不是微软的VF字符串比较有问题哟?那位高手知道?

搜索更多相关主题的帖子: 字符 
2007-06-13 16:25
songyuyu
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:6090
专家分:25
注 册:2007-1-17
收藏
得分:0 
先转换一下
?ASC("-")<ASC("0")这个试试

我喝水只喝纯净水,牛奶只喝纯牛奶,所以我很单纯……
2007-06-13 16:31
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 

字符串比较顺序,可要指出后续排序规则。这个试试看
Set Collate To 'machine'
?'01-01'<'01001'


感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2007-06-13 17:06
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
收藏
得分:0 

SET COLLATE TO cSequenceName
SET COLLATE TO 'machine'

? "01-01"<"01001" 结果是 .t.
SET COLLATE TO 'pinyin'

? "01-01"<"01001" 结果是 .F.
与vb不同,不可硬搬!


认真看书学习,弄通Fox主义。
2007-06-13 17:18
songyuyu
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:6090
专家分:25
注 册:2007-1-17
收藏
得分:0 
学到东西了,谢谢咯

我喝水只喝纯净水,牛奶只喝纯牛奶,所以我很单纯……
2007-06-14 08:33
maosp
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-6-13
收藏
得分:0 
回复:(maosp)关于字符串比较问题
明白了,谢谢版主!
原来是不同的排序序列在搞怪,不过我还是认为默认值应该是"MACHINE" 好些,按ASCII顺序是国际惯例,我们的教科书上讲的排序原则也都是按ASCII顺序的,已经形成概念了。
还是版主高
2007-06-14 10:09
快速回复:关于字符串比较问题
数据加载中...
 
   



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

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