VB中list里是sort属性,当true时,阿拉伯数字按照字符排序,怎么看大小的
2个回答
展开全部
从左到右逐个比较字符的ASCII码,只要分出了大小,那么剩余字符就不再比较,例如:
"9" > "12" 因为"9"的ASCII码大于"1"的ASCII码
"b" > "abcd" 因为"b"的ASCII码大于"a"的ASCII码
"a" > "A" 因为"a"的ASCII码大于"A"的ASCII码(不过在List的排序中不区分大小写,所以实际上"a"="A")
"1240" > "12398" 因为"4"的ASCII码大于"3"的ASCII码
"9" > "12" 因为"9"的ASCII码大于"1"的ASCII码
"b" > "abcd" 因为"b"的ASCII码大于"a"的ASCII码
"a" > "A" 因为"a"的ASCII码大于"A"的ASCII码(不过在List的排序中不区分大小写,所以实际上"a"="A")
"1240" > "12398" 因为"4"的ASCII码大于"3"的ASCII码
展开全部
它是按字符的编码来排定的,两个字符串同位比较,如果第一个字符相等,那就比较第二个,直到分出大小为止。
结果会造成2在10后头,因为第一个字符就分出了1比2小。这个大小与数字大小每关系,只是字符编码集按排上先后秩序而已,只是恰巧与数字大小相一致而已。
如果你想排序迎合数字大小秩序的话,把数字长度格式为相等,不足的前面补0。
去试试下面代码:
Private Sub Form_Load()
Dim i As Integer
For i = 1 To 30
List1.AddItem Format(i, "00")
Next
End Sub
结果会造成2在10后头,因为第一个字符就分出了1比2小。这个大小与数字大小每关系,只是字符编码集按排上先后秩序而已,只是恰巧与数字大小相一致而已。
如果你想排序迎合数字大小秩序的话,把数字长度格式为相等,不足的前面补0。
去试试下面代码:
Private Sub Form_Load()
Dim i As Integer
For i = 1 To 30
List1.AddItem Format(i, "00")
Next
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询