
bcd大。
val("字符串")转化为整数型。再做比较。
字符串的比较是按照从左到右单个字符进行比较的,如果第一个字符串的第一个字符比第二个字符串的第一个字符大则大,显然这里"bcd"的"b"比"abc"的"a"第一个字符"b">"a",所以bcd大,如果相等则比较两个字符串的第二个字符,同理。
扩展资料:
通常以串的整体作为 *** 作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
参考资料来源:百度百科-字符串
java中两个字符串如何比较大小有三种方法实现
第一种直接用字符串类的pareTo方法:
String t1="20131011"String t2="20131030"int result = t1pareTo(t2)第二种是把这个日期字符串转换成long:
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd")Date d1 = sdf.parse(t1)Date d2 = sdf.parse(t2)long result = d1.getTime()-d2.getTime()第三种是把日期字符串转换成整形int:
int int1 = Integer.parseInt(t1)int int2 = Integer.parseInt(t2)int result = int1-int2注:result大于0,则t1>t2;
result等于0,则t1=t2;
result小于0,则t1
字符串大小比较的规则?
比较的时候,从字符串左边开始,一次比较每个字符,直接出现差异、或者其中一个串结束为止。
比如ABC与ACDE比较,第一个字符相同,继续比较第二个字符,由于第二个字符是后面一个串大,所以不再继续比较,结果就是后面个串大。
再如ABC与ABC123比较,比较三个字符后第一个串结束,所以就是后面一个串大。
所以,长度不能直接决定大小,字符串的大小是由左边开始最前面的字符决定的。
java怎么比较字符串大小?
比较两个字符串的的大小 str1和str2分别是两个字符串str1==str2或者是
str1.equals(str2)如果要是两个字符串忽略大小写的话用
str1.equalsIgnoreCase(str2)也可以是 str1pareTo(str2)
第二个用加号连接起来就可以了
C语言中字符串的大小指的是什么
以字符是ASCII值确定,憨较规则是,从第一个字符开始,顺次向后直到出现不同的字符为止,然后以第一个不同的字符的ASCII值确定,例如上面的”abc”和"aabdfg",由于第一个字符相同,都是'a'所以看下一个字符,第二个字符,一个是'b',一个是‘a',由于b的ASCII值比a的ASCII值大,所以,这二个字符串的比较结果是"abc">"aabdfg"
c语言中比较字符串的strcmp函数是怎么比较大小的?
strcmp(s1,s2) 对两个字符串进行比较,逐一比较字符的ascii码,a为97,A为65 所以a>A分出大小后面不再比较;
如果s1>s2,返回1;
如果s1=s2,返回0;
如果s1
在C语言中字符串的大小怎么比较啊?
strcmp
原型:extern int strcmp(char *s1,char * s2)
用法:#include
功能:比较字符串s1和s2。
说明:
当s1
当s1=s2时,返回值=0
当s1>s2时,返回值>0
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇 '\0'为止。如:
"abcdefg"和"12",首先比较'a'和'1','a'的ASC码是97,'1'的ASC码是49,所以"abcdefg">"12",返回值是97-49=48
"abc"和"ABC",首先比较'a'和'A','a'的ASC码是97,'A'的ASC码是65,所以"abc">"ABC",返回值是97-65=32
"1000"和"2",首先比较'1'和'2','1'的ASC码是49,'2'的ASC码是50,所以"1000"<"2",返回值是49-50=-1
字符串大小比较
如果单纯比较长度,直接调用类似于strlen()之类的函数就可以,加以比较即可.
如果比较字符串的大小,则比较的是字符的ASCII编码的大小.你搜索一下ASCII码表就可以得知每一个ASCII字符的大小. 参考wpyz/noip/11-1.asp
在比较时,设置一个计数器,从零开始,一直循环到最短的那个字符结束,一位一位进行比较,
1.如果 字符串1的第n位的ASCII码值 等于 字符串2的第n位的ASCII码值
则 继续比较下一位
2.如果 字符串1的第n位的ASCII码值 大于 字符串2的第n位的ASCII码值
则 输出结果:1,表示字符串1 >字符串2
3.如果 字符串1的第n位的ASCII码值 小于 字符串2的第n位的ASCII码值
则 输出结果:-1 表示字符串1 <字符串2
4.如果 每一位的ASCII码值都相等,而且长度相同,
则 输出结果:0 表示字符串1 == 字符串2
5.如果 字符串1是字符串2的前m位,例如 abcd 与abcdef 比较,
则 字符串1
原因是,到第5位时,字符串1的ASCII值是0,而字符串2的ASCII值为'e',即十进制的101,当然是字符串2大了.
具体到 cds和lesoqd
从第一位开始,'c'和'l'比较,当然是'c' <'l'了,所以,"cds" <"lesoqd"
常用的几位ascii的顺序从小到大为:
0..9, A..Z, a..z.
谁编个比较2个字符串大小的程序
我这个简单
#include
bi(char a[],char b[])
{
int x,y
x=0
y=0
while(a[x]==b[x]&&a[x]!='\0') x++
if(a[x]=='\0'&&b[x=='\0']) y=0
else y=a[x]-b[x]
if(y==0) printf("\ns1=s2\n")
else if(y>0) printf("\ns1>s2\n")
else printf("\ns1
}
void main()
{
char s1[100],s2[100]
gets(s1)
gets(s2)
bi(s1,s2)
}
C++字符串比较大小
字符串的比较是逐个相应字符进行比较(比较他们的ASCII码),直到有两个字符不相等为止,ASCII码大的字母所在字符串就大,与字符串长度无关。对两个相等长度的字符串,若每个字符都比较完毕后仍相等,则两字符串相等;对不等长的字符串,若当短的字符串比较完毕时所有字符仍相等,则长度较长的字符串大!
sql里面字符串没有大小之分,只有长度之分,可以比较长度大小,但是想用一条sql语句直接拿到大小结果来说也不太方便,最好是借助程序或者sql脚本来做,我用oracle试了下,用case when函数是可以直接比较大小的,比如第一个值比第二个大输出0,否则输出1:
select (case when len1>len2 then 0 when len1<len2 then 1 end) as res from (select length('asd') as len1,length('as') as len2 from dual) t
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)