关于VFP字符串比较运算.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于VFP字符串比较运算.doc

关于VFP的字符串比较运算(一) 对字符串来说,其比较规则如下:比较两个字符串时,系统对两个字符串的字符自左向右逐个进行比较,一旦发现两个对应字符不同,就根据它们的排序序列决定字符串的大小。对字符序列的排序设置选项有三种:Machine(机器)、Pinyin(拼音)、Stroke(笔画)。 a)Machine(机内码)次序:字符按ASCII码值比较(小写字母>大写字母>空格),汉字按拼音顺序比较。 例:“abc” “abcd”、“b” “B”、“c” “  c”、“张” “李” b)Pinyin(拼音)次序:汉字按拼音顺序比较,字符按大写字符>小写字符>空格进行比较。 例:“a” “A” c)Stroke(笔画)次序:按笔画的多少排序。 例:“李”“王”、“a”“t” 两个字符串比较时,若长度相等,比较时规则相对容易,不论是进行=(单等号)还是= =(双等号)运算,即比较时从左到右逐个字符进行,如对应的字符有不相等的,则其比较结果为不相等(.F.),如一直到结尾对应的字符都相等则其比较结果为相等(.T.)。 如果两个字符串的长度不同,则SET EXACT ON 和SET EXACT OFF这两条命令将会直接影响表1中列出的=(等于)和!=(不等于)的运算规则。字符串比较过程中经常产生的疑义将由此而来。 例2:在命令窗口输入如下语句。 SET EXACT OFF 字符串进行非精确比较 ?王老师王, 王老师王 运算结果为.F. .F. 2.1长度不相等的字符串比较 2.1.1执行SET EXACT OFF 命令时的比较 当EXACT的设置值为OFF(默认值)时,只要运算符右边字符串的所有字符和运算符左边字符串的左端部分内容相匹配,则认为两个字符串相等。 2.1.2执行SET EXACT ON 命令时的比较 当EXACT的设置值为ON时,在较短的一个字符串的右边加上足够的空格,以两个字符串的长度相等,并且每个相应的字符都相等,则认为两个字符串相等。 以上给出了在不同系统环境下的比较两个字符串是否相等的规则。如果两个字符串不相等,则两个字符串一定具有大于或小于的关系。如何确定两个字符串的大于或小于关系?用运算符 (小于) 或 (大于) 进行两字符串比较时,比较到第1个不相同字符为止,否则,长度较长的字符串较 大 。 可见,在以上的两个不同系统环境下,长度不相等的两个字符串的比较规则不同。 关于VFP的字符串比较运算(二) 若两个字符串相等,则它们的=(等于)、=(大于等于)、=(小于等于)运算结果为.T.,而(大于)、(小于)、!=(不等于)运算结果为.F.。 若两个字符串不相等,运算符左边的字符串小于运算符右边的字符串,则!=(不等于)、(小于)、=(小于等于)运算结果为.T.;而=(等于)、(大于)、=(大于等于)运算结果为.F.。若两个字符串不相等,且运算符左边的字符大于运算符右边的字符串,则!=(不等于)、(大于)、=(大于等于)运算结果为.T.,而=(等于)、(小于)、=(小于等于)运算结果为.F. 例3:在命令窗口输入如下语句: SET EXACT OFF 字符串进行非精确比较 ?王老师=王, 王老师=王, 王老师=王 运算结果为.T. .T. .T. ?王老师王, 王老师王, 王老师!=王 运算结果为.F. .F. .F. 这是两个字符串进行非精确比较。王老师和王比较时,运算符右边的字符串王与运算符左边的???符串王老师前面的第1、2字符相等,则王老师和王相等。以上各运算的显示结果也不难理解。 在命令窗口输入如下语句: SET EXACT ON 字符串进行精确比较 ?王老师=王, 王老师王, 王老师=王 运算结果为.F. .F. .F. ?王老师王, 王老师=王, 王老师!=王 运算结果为.T. .T. .T. 这是两个字符串进行精确比较。这样两个字符串有特点:两个字符串长度不相等,右边的字符串与左边的字符串前面部分内容相同。 王老师和王比较时,在王的尾部加上4个空格,使要比较的两个字符串长度相等。再比较王老师和王 ,显然两个字符串不相等,且王老师王 。以上的各运算的结果不难理解。

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档