关于VFP字符的比较

想知道下面几个怎么比较?“111”和“11Y”“你好”和“您好”还有排序序列具体含义是指什么?为什么“abc”>“ab”显示结果为.T.?... 想知道下面几个怎么比较?
“111”和“11Y”
“你好”和“您好”
还有排序序列具体含义是指什么?为什么“abc”>“ab”显示结果为.T.?
展开
 我来答
宛丘山人
推荐于2018-04-04 · 长期从事大学高等数学和计算机数据结构教学
宛丘山人
采纳数:6405 获赞数:24689

向TA提问 私信TA
展开全部
   字符串的比较是自左向右逐个比较,一旦发现两个对应字符不同,就根据这两个字符确定排序先后。通常是按ASCII码值,即按Machine(机器)排序。次序依次是:空格<数字<大写字母<小写字母<汉字,一级汉字的顺序与拼音同。也可选择PinYin(拼音)序列,西文次序是:空格<数字<小写字母<大写字母。还可选择Stroke(笔画)序列。
  对"111”和"11Y”来说,两者的第1个字符都是"1”;比较第2个,两者的第2个字符都是"1”,再比较第3个,前者的第3个字符是"1”,数字类,后者的第3个字符是"Y”,大写字母类,因为数字<大写字母,所以"111”<"11Y”。
  对"你好"和"您好"来说,两者的第1个字符都是一级汉字,顺序与拼音同,"你"的拼音为"ni",,"您"的拼音为"nin",因为"ni”<"nin”,所以"你好"<"您好"。
对于"abc”和"ab”,两者前两个字符都是"ab”,相同。前面第3个字符是"c",后面第3个字符不存在,为空,空的ASCII码为0,"c"的ASCII码为99,99>0,"abc">"ab",所以命令 ? "abc">"ab"的显示结果是.T.(真)。
kmyxf
2014-01-27 · TA获得超过9856个赞
知道大有可为答主
回答量:2225
采纳率:63%
帮助的人:1005万
展开全部
在VFP中,比较字符串“ABC”与“abc”的大小是有前提条件的,就是要知道数据是按什么进行排序,才能知道谁大谁小。
VFP有按拼音(pinyin) 排序比较大小、按ASCII码(MACHINE)比较大小和按笔划顺序(STROKE)比较大小3种。
VFP的默认设置是按拼音(pinyin) 排序比较大小,此时是“ABC”>“abc”;
若按ASCII码(MACHINE)比较大小,则是“ABC”<“abc”。

选择数据按什么进行排序,在VFP菜单的“工具”——“选项”——“数据”——"排序序列"里中可以选择(pinyin、MACHINE、STROKE)。

两种比较大小的程序如下:
SET COLLATE TO "pinyin" &&设置VFP按拼音(pinyin) 排序
? "ABC"<"abc" &&结果为F 即"ABC">"abc"

SET COLLATE TO "MACHINE" &&设置VFP按ASCII码(MACHINE)排序
? "ABC"<"abc" &&结果为T 即"ABC"<"abc"
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dcc7e4fa47c
2019-02-14 · TA获得超过3594个赞
知道大有可为答主
回答量:2988
采纳率:32%
帮助的人:178万
展开全部
VFP里面的字符串比较不一样,不是按照ASCII码比较,是他自己规定的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式